diff --git a/DEPS b/DEPS
index d4dc159..e565714 100644
--- a/DEPS
+++ b/DEPS
@@ -181,11 +181,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': '118df7cf62abaa5c8a1ff1ebade71cce4f6b7255',
+  'skia_revision': '7655168e68654bee4eba998bdb660d87fa31d46e',
   # 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': 'df9027436b4ac15ff08529327a0f950888b796f7',
+  'v8_revision': 'fab248d2ccddc45eae7806b23a1992b304e1abb2',
   # 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.
@@ -193,7 +193,7 @@
   # 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': 'feb3b6cc6f2b598d001a1166ff03ac64e20de013',
+  'angle_revision': '86f730971751eb18460f2e13e3be1b97a68abacc',
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling SwiftShader
   # and whatever else without interference from each other.
@@ -201,7 +201,7 @@
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling PDFium
   # and whatever else without interference from each other.
-  'pdfium_revision': 'c58babd220a9dc4d13757be8799bffbd59cac73b',
+  'pdfium_revision': '997e797922ae2f6db23d036493899b02c87cff10',
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling BoringSSL
   # and whatever else without interference from each other.
@@ -244,7 +244,7 @@
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling catapult
   # and whatever else without interference from each other.
-  'catapult_revision': '7431e17d79d017e6724a161cca7bc49b232ec9d0',
+  'catapult_revision': 'b9bb682ff61f0cc07227809b0f1c4ee8b6b5d56d',
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling libFuzzer
   # and whatever else without interference from each other.
@@ -252,7 +252,7 @@
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling devtools-frontend
   # and whatever else without interference from each other.
-  'devtools_frontend_revision': 'a0840e9a2f6a2c7c2f5e423350ca7657df07b14b',
+  'devtools_frontend_revision': '326caf16c14092e8f25aa641f649ff6ceb09684a',
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling libprotobuf-mutator
   # and whatever else without interference from each other.
@@ -312,7 +312,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.
-  'dawn_revision': 'cd170a5c7216cfe26572bf380bdfd2e843c1a207',
+  'dawn_revision': '7f078e7ebe3f1046b57f4fb3cc21805b4348dbf9',
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling feed
   # and whatever else without interference from each other.
@@ -904,7 +904,7 @@
   },
 
   'src/third_party/depot_tools':
-    Var('chromium_git') + '/chromium/tools/depot_tools.git' + '@' + 'ce09ca54f86e989ce1e57ceeb896a9d13ff10f08',
+    Var('chromium_git') + '/chromium/tools/depot_tools.git' + '@' + '2a04803267c61a53e9769bb2963b45e06a981804',
 
   'src/third_party/devtools-frontend/src':
     Var('chromium_git') + '/devtools/devtools-frontend' + '@' + Var('devtools_frontend_revision'),
@@ -939,7 +939,7 @@
 
   # Used for embedded builds. CrOS & Linux use the system version.
   'src/third_party/fontconfig/src': {
-      'url': Var('chromium_git') + '/external/fontconfig.git' + '@' + 'cd51cb241aad7b362b793200ca7d42595c14f52b',
+      'url': Var('chromium_git') + '/external/fontconfig.git' + '@' + '452be8125f0e2a18a7dfef469e05d19374d36307',
       'condition': 'checkout_linux',
   },
 
@@ -1297,7 +1297,7 @@
   },
 
   'src/third_party/perfetto':
-    Var('android_git') + '/platform/external/perfetto.git' + '@' + 'd3e59119bcf5d8b7bbe7dfa7bed1a98b0c0ccf41',
+    Var('android_git') + '/platform/external/perfetto.git' + '@' + '0a486a62378b447a08e5b3203414e6610a868d57',
 
   'src/third_party/perl': {
       'url': Var('chromium_git') + '/chromium/deps/perl.git' + '@' + '6f3e5028eb65d0b4c5fdd792106ac4c84eee1eb3',
@@ -1568,7 +1568,7 @@
     Var('chromium_git') + '/v8/v8.git' + '@' +  Var('v8_revision'),
 
   'src-internal': {
-    'url': 'https://chrome-internal.googlesource.com/chrome/src-internal.git@69949ed05dcf3ca151fd1bc12817ef2f92bec7ec',
+    'url': 'https://chrome-internal.googlesource.com/chrome/src-internal.git@80dbf39f778441662337b38cd0371b7ef12c659d',
     'condition': 'checkout_src_internal',
   },
 
diff --git a/PRESUBMIT.py b/PRESUBMIT.py
index 48924f1b..06f525f 100644
--- a/PRESUBMIT.py
+++ b/PRESUBMIT.py
@@ -3306,7 +3306,7 @@
   sources = lambda x: input_api.FilterSourceFile(
       x, white_list=[r'.*\.java$'], black_list=None)
   errors = []
-  for f in input_api.AffectedFiles(sources):
+  for f in input_api.AffectedFiles(file_filter=sources):
     for line_num, line in f.ChangedContents():
       if deprecated_junit_framework_pattern.search(line):
         errors.append("%s:%d" % (f.LocalPath(), line_num))
@@ -3330,7 +3330,7 @@
   sources = lambda x: input_api.FilterSourceFile(
       x, white_list=[r'.*Test\.java$'], black_list=None)
   errors = []
-  for f in input_api.AffectedFiles(sources):
+  for f in input_api.AffectedFiles(file_filter=sources):
     if not f.OldContents():
       class_declaration_start_flag = False
       for line_num, line in f.ChangedContents():
@@ -3359,7 +3359,7 @@
   sources = lambda x: input_api.FilterSourceFile(
       x, white_list=[r'.*\.java$'], black_list=None)
   errors = []
-  for f in input_api.AffectedFiles(sources):
+  for f in input_api.AffectedFiles(file_filter=sources):
     for line_num, line in f.ChangedContents():
       if deprecated_annotation_import_pattern.search(line):
         errors.append("%s:%d" % (f.LocalPath(), line_num))
diff --git a/ash/login/ui/login_expanded_public_account_view.cc b/ash/login/ui/login_expanded_public_account_view.cc
index 69d9c4e..3a6512a 100644
--- a/ash/login/ui/login_expanded_public_account_view.cc
+++ b/ash/login/ui/login_expanded_public_account_view.cc
@@ -60,7 +60,7 @@
 constexpr SkColor kArrowButtonColor = SkColorSetARGB(0xFF, 0x42, 0x85, 0xF4);
 
 constexpr int kDropDownIconSizeDp = 16;
-constexpr int kArrowButtonSizeDp = 40;
+constexpr int kArrowButtonSizeDp = 48;
 constexpr int kAdvancedViewButtonWidthDp = 190;
 constexpr int kAdvancedViewButtonHeightDp = 16;
 constexpr int kSelectionBoxWidthDp = 178;
diff --git a/ash/login/ui/login_public_account_user_view.cc b/ash/login/ui/login_public_account_user_view.cc
index fb7ec3c..058a7557 100644
--- a/ash/login/ui/login_public_account_user_view.cc
+++ b/ash/login/ui/login_public_account_user_view.cc
@@ -33,7 +33,7 @@
 // Distance from the end of arrow button to the bottom of the big user view.
 constexpr int kDistanceFromArrowButtonToBigUserViewBottom = 20;
 
-constexpr int kArrowButtonSizeDp = 40;
+constexpr int kArrowButtonSizeDp = 48;
 
 // Non-empty width, useful for debugging/visualization.
 constexpr int kNonEmptyWidth = 1;
diff --git a/ash/login/ui/parent_access_view.cc b/ash/login/ui/parent_access_view.cc
index 481cfc92f..220fcd1 100644
--- a/ash/login/ui/parent_access_view.cc
+++ b/ash/login/ui/parent_access_view.cc
@@ -89,7 +89,7 @@
 constexpr int kAccessCodeInputFieldUnderlineThicknessDp = 1;
 constexpr int kAccessCodeBetweenInputFieldsGapDp = 4;
 
-constexpr int kArrowButtonSizeDp = 40;
+constexpr int kArrowButtonSizeDp = 48;
 constexpr int kArrowSizeDp = 20;
 
 constexpr int kAlpha70Percent = 178;
diff --git a/ash/public/cpp/shelf_config.h b/ash/public/cpp/shelf_config.h
index eb56ebc4a..b58607f 100644
--- a/ash/public/cpp/shelf_config.h
+++ b/ash/public/cpp/shelf_config.h
@@ -170,6 +170,9 @@
   // Returns the current blur radius to use for the control buttons.
   int GetShelfControlButtonBlurRadius() const;
 
+  // The padding between the app icon and the end of the scrollable shelf.
+  int GetAppIconEndPadding() const;
+
  private:
   friend class ShelfConfigTest;
 
@@ -264,6 +267,10 @@
   // The height inset on the control buttons when in-app shelf is shown.
   const int in_app_control_button_height_inset_;
 
+  // The padding between the app icon and the end of the scrollable shelf in
+  // tablet mode.
+  const int app_icon_end_padding_;
+
   base::ObserverList<Observer> observers_;
 
   DISALLOW_COPY_AND_ASSIGN(ShelfConfig);
diff --git a/ash/shelf/hotseat_transition_animator.cc b/ash/shelf/hotseat_transition_animator.cc
index a31d66c..c3de531 100644
--- a/ash/shelf/hotseat_transition_animator.cc
+++ b/ash/shelf/hotseat_transition_animator.cc
@@ -122,11 +122,11 @@
 
   int starting_y;
   if (animating_to_shown_hotseat) {
-    // This animation is triggered after bounds have been set in the shelf. When
-    // transitioning to HotseatState::kShown, the shelf increases in size. To
-    // prevent the background from jumping, adjust the y position to account for
-    // the size increase.
-    starting_y = ShelfConfig::Get()->system_shelf_size() -
+    // This animation is triggered after bounds have been set in the shelf, or
+    // while the shelf is beginning to animate to new bounds. To prevent the
+    // background from jumping in either case, adjust the y position to account
+    // for the current size of the |shelf_widget_|.
+    starting_y = shelf_widget_->GetWindowBoundsInScreen().height() -
                  ShelfConfig::Get()->in_app_shelf_size();
   } else {
     starting_y = ShelfConfig::Get()->shelf_size();
diff --git a/ash/shelf/scrollable_shelf_view.cc b/ash/shelf/scrollable_shelf_view.cc
index 259ece9..3629603 100644
--- a/ash/shelf/scrollable_shelf_view.cc
+++ b/ash/shelf/scrollable_shelf_view.cc
@@ -123,12 +123,6 @@
   return true;
 }
 
-// Returns the padding between the app icon and the end of the ScrollableShelf.
-int GetAppIconEndPadding() {
-  return (chromeos::switches::ShouldShowShelfHotseat() && IsInTabletMode()) ? 4
-                                                                            : 0;
-}
-
 }  // namespace
 
 ////////////////////////////////////////////////////////////////////////////////
@@ -394,9 +388,9 @@
       local_bounds.Contains(ideal_bounds) ? local_bounds : ideal_bounds;
 
   if (shelf_view_->shelf()->IsHorizontalAlignment())
-    shelf_view_bounds.set_x(GetAppIconEndPadding());
+    shelf_view_bounds.set_x(ShelfConfig::Get()->GetAppIconEndPadding());
   else
-    shelf_view_bounds.set_y(GetAppIconEndPadding());
+    shelf_view_bounds.set_y(ShelfConfig::Get()->GetAppIconEndPadding());
 
   shelf_view_->SetBoundsRect(shelf_view_bounds);
 }
@@ -614,7 +608,8 @@
     return 0;
 
   // Calculate the length of the available space.
-  int available_length = GetSpaceForIcons() - 2 * GetAppIconEndPadding();
+  int available_length =
+      GetSpaceForIcons() - 2 * ShelfConfig::Get()->GetAppIconEndPadding();
 
   // Calculate the length of the preferred size.
   const gfx::Size shelf_preferred_size(
@@ -1207,7 +1202,7 @@
 
   const int icons_size = shelf_view_->GetSizeOfAppIcons(
                              shelf_view_->number_of_visible_apps(), false) +
-                         2 * GetAppIconEndPadding();
+                         2 * ShelfConfig::Get()->GetAppIconEndPadding();
   const int base_padding = ShelfConfig::Get()->app_icon_group_margin();
 
   const int available_size_for_app_icons =
@@ -1237,7 +1232,7 @@
 gfx::Insets ScrollableShelfView::CalculatePaddingForDisplayCentering() const {
   const int icons_size = shelf_view_->GetSizeOfAppIcons(
                              shelf_view_->number_of_visible_apps(), false) +
-                         2 * GetAppIconEndPadding();
+                         2 * ShelfConfig::Get()->GetAppIconEndPadding();
   const gfx::Rect display_bounds =
       screen_util::GetDisplayBoundsWithShelf(GetWidget()->GetNativeWindow());
   const int display_size_primary = GetShelf()->PrimaryAxisValue(
@@ -1485,7 +1480,7 @@
     // After scrolling, the left arrow button will show. Adapts the offset
     // to the extra arrow button.
     const int offset_for_extra_arrow =
-        kArrowButtonGroupWidth - GetAppIconEndPadding();
+        kArrowButtonGroupWidth - ShelfConfig::Get()->GetAppIconEndPadding();
 
     const int mod = space_excluding_arrow % GetUnit();
     offset = space_excluding_arrow - mod - offset_for_extra_arrow;
@@ -1501,7 +1496,7 @@
       const int extra_offset =
           -ShelfConfig::Get()->button_spacing() -
           (GetSpaceForIcons() - kArrowButtonGroupWidth) % GetUnit() +
-          GetAppIconEndPadding();
+          ShelfConfig::Get()->GetAppIconEndPadding();
       offset += extra_offset;
     }
   }
@@ -1662,7 +1657,7 @@
   return (layout_strategy == kShowButtons ||
           layout_strategy == kShowLeftArrowButton)
              ? (main_axis_scroll_distance + kArrowButtonGroupWidth -
-                GetAppIconEndPadding())
+                ShelfConfig::Get()->GetAppIconEndPadding())
              : main_axis_scroll_distance;
 }
 
@@ -1741,7 +1736,7 @@
   int preferred_length = GetShelf()->IsHorizontalAlignment()
                              ? preferred_size.width()
                              : preferred_size.height();
-  preferred_length += 2 * GetAppIconEndPadding();
+  preferred_length += 2 * ShelfConfig::Get()->GetAppIconEndPadding();
 
   return available_length >= preferred_length;
 }
diff --git a/ash/shelf/shelf_app_button.cc b/ash/shelf/shelf_app_button.cc
index d456f0a..e258520 100644
--- a/ash/shelf/shelf_app_button.cc
+++ b/ash/shelf/shelf_app_button.cc
@@ -731,13 +731,34 @@
 
 std::unique_ptr<views::InkDropRipple> ShelfAppButton::CreateInkDropRipple()
     const {
-  const int ink_drop_small_size = ShelfConfig::Get()->hotseat_size();
+  int ink_drop_small_size = ShelfConfig::Get()->hotseat_size();
+  gfx::Point center_point = GetLocalBounds().CenterPoint();
+  const int padding = ShelfConfig::Get()->GetAppIconEndPadding();
+
+  // Add padding to the ink drop for the left-most and right-most app buttons in
+  // the shelf.
+  if (padding > 0) {
+    const int current_index = shelf_view_->view_model()->GetIndexOfView(this);
+    int left_padding =
+        (shelf_view_->first_visible_index() == current_index) ? padding : 0;
+    int right_padding =
+        (shelf_view_->last_visible_index() == current_index) ? padding : 0;
+
+    if (base::i18n::IsRTL())
+      std::swap(left_padding, right_padding);
+
+    ink_drop_small_size += left_padding + right_padding;
+
+    const int x_offset = (-left_padding / 2) + (right_padding / 2);
+    center_point.Offset(x_offset, 0);
+  }
+
   return std::make_unique<views::SquareInkDropRipple>(
       gfx::Size(GetInkDropLargeSize(), GetInkDropLargeSize()),
       ink_drop_large_corner_radius(),
       gfx::Size(ink_drop_small_size, ink_drop_small_size),
-      ink_drop_small_corner_radius(), GetLocalBounds().CenterPoint(),
-      GetInkDropBaseColor(), ink_drop_visible_opacity());
+      ink_drop_small_corner_radius(), center_point, GetInkDropBaseColor(),
+      ink_drop_visible_opacity());
 }
 
 std::unique_ptr<views::InkDropMask> ShelfAppButton::CreateInkDropMask() const {
diff --git a/ash/shelf/shelf_config.cc b/ash/shelf/shelf_config.cc
index 9595273b..d3fc6d6 100644
--- a/ash/shelf/shelf_config.cc
+++ b/ash/shelf/shelf_config.cc
@@ -61,7 +61,8 @@
       shelf_tooltip_preview_min_ratio_(0.666),  // = 2/3
       shelf_blur_radius_(30),
       mousewheel_scroll_offset_threshold_(20),
-      in_app_control_button_height_inset_(4) {
+      in_app_control_button_height_inset_(4),
+      app_icon_end_padding_(4) {
   UpdateConfig(is_app_list_visible_);
 }
 
@@ -312,6 +313,12 @@
   return 0;
 }
 
+int ShelfConfig::GetAppIconEndPadding() const {
+  return (chromeos::switches::ShouldShowShelfHotseat() && IsTabletMode())
+             ? app_icon_end_padding_
+             : 0;
+}
+
 void ShelfConfig::OnShelfConfigUpdated() {
   for (auto& observer : observers_)
     observer.OnShelfConfigUpdated();
diff --git a/ash/system/message_center/unified_message_center_bubble.cc b/ash/system/message_center/unified_message_center_bubble.cc
index cf2b1b6..cbc11f6b 100644
--- a/ash/system/message_center/unified_message_center_bubble.cc
+++ b/ash/system/message_center/unified_message_center_bubble.cc
@@ -239,4 +239,11 @@
   tray_->CloseBubble();
 }
 
+void UnifiedMessageCenterBubble::OnWidgetActivationChanged(
+    views::Widget* widget,
+    bool active) {
+  if (active)
+    tray_->bubble()->OnMessageCenterActivated();
+}
+
 }  // namespace ash
diff --git a/ash/system/message_center/unified_message_center_bubble.h b/ash/system/message_center/unified_message_center_bubble.h
index 84200eda..07c0a71 100644
--- a/ash/system/message_center/unified_message_center_bubble.h
+++ b/ash/system/message_center/unified_message_center_bubble.h
@@ -74,6 +74,7 @@
 
   // views::WidgetObserver:
   void OnWidgetDestroying(views::Widget* widget) override;
+  void OnWidgetActivationChanged(views::Widget* widget, bool active) override;
 
   UnifiedMessageCenterView* message_center_view() {
     return message_center_view_;
diff --git a/ash/system/tray/tray_bubble_view.cc b/ash/system/tray/tray_bubble_view.cc
index cf94623a..4152a6f 100644
--- a/ash/system/tray/tray_bubble_view.cc
+++ b/ash/system/tray/tray_bubble_view.cc
@@ -351,6 +351,10 @@
   return true;
 }
 
+void TrayBubbleView::StopReroutingEvents() {
+  reroute_event_handler_.reset();
+}
+
 ax::mojom::Role TrayBubbleView::GetAccessibleWindowRole() {
   // We override the role because the base class sets it to alert dialog.
   // This would make screen readers announce the whole of the system tray
diff --git a/ash/system/tray/tray_bubble_view.h b/ash/system/tray/tray_bubble_view.h
index 9cf7e65..1bd77b5 100644
--- a/ash/system/tray/tray_bubble_view.h
+++ b/ash/system/tray/tray_bubble_view.h
@@ -145,6 +145,10 @@
   // area.
   virtual bool IsAnchoredToStatusArea() const;
 
+  // Stops rerouting key events to this view. If this view is not currently
+  // rerouting events, then this function will be idempotent.
+  void StopReroutingEvents();
+
   Delegate* delegate() { return delegate_; }
 
   void set_gesture_dragging(bool dragging) { is_gesture_dragging_ = dragging; }
diff --git a/ash/system/unified/unified_system_tray_bubble.cc b/ash/system/unified/unified_system_tray_bubble.cc
index eedcf5bc..8e3f42d 100644
--- a/ash/system/unified/unified_system_tray_bubble.cc
+++ b/ash/system/unified/unified_system_tray_bubble.cc
@@ -285,6 +285,13 @@
   unified_view_->FocusEntered(reverse);
 }
 
+void UnifiedSystemTrayBubble::OnMessageCenterActivated() {
+  // When the message center is activated, we no longer need to reroute key
+  // events to this bubble. Otherwise, we interfere with notifications that may
+  // require key input like inline replies. See crbug.com/1040738.
+  bubble_view_->StopReroutingEvents();
+}
+
 void UnifiedSystemTrayBubble::OnDisplayConfigurationChanged() {
   UpdateBubbleBounds();
 }
@@ -312,13 +319,17 @@
     return;
   }
 
-  // Don't close the bubble if the message center is gaining activation.
+  // Don't close the bubble if the message center is gaining or losing
+  // activation.
   if (features::IsUnifiedMessageCenterRefactorEnabled() &&
       tray_->IsMessageCenterBubbleShown()) {
     views::Widget* message_center_widget =
         tray_->message_center_bubble()->GetBubbleWidget();
     if (message_center_widget ==
-        views::Widget::GetWidgetForNativeView(gained_active)) {
+            views::Widget::GetWidgetForNativeView(gained_active) ||
+        (lost_active &&
+         message_center_widget ==
+             views::Widget::GetWidgetForNativeView(lost_active))) {
       return;
     }
   }
diff --git a/ash/system/unified/unified_system_tray_bubble.h b/ash/system/unified/unified_system_tray_bubble.h
index 571b349..4e0b301 100644
--- a/ash/system/unified/unified_system_tray_bubble.h
+++ b/ash/system/unified/unified_system_tray_bubble.h
@@ -102,6 +102,9 @@
   // Inform UnifiedSystemTrayView of focus being acquired.
   void FocusEntered(bool reverse);
 
+  // Called when the message center widget is activated.
+  void OnMessageCenterActivated();
+
   // TrayBubbleBase:
   TrayBackgroundView* GetTray() const override;
   TrayBubbleView* GetBubbleView() const override;
diff --git a/build/fuchsia/linux.sdk.sha1 b/build/fuchsia/linux.sdk.sha1
index c7e574b..bc51130 100644
--- a/build/fuchsia/linux.sdk.sha1
+++ b/build/fuchsia/linux.sdk.sha1
@@ -1 +1 @@
-8891279967335324864
\ No newline at end of file
+8891258278389293552
\ No newline at end of file
diff --git a/cc/metrics/compositor_frame_reporter.cc b/cc/metrics/compositor_frame_reporter.cc
index 4f93e8a..95857f4 100644
--- a/cc/metrics/compositor_frame_reporter.cc
+++ b/cc/metrics/compositor_frame_reporter.cc
@@ -127,10 +127,17 @@
 constexpr int kHistogramMax = 350000;
 constexpr int kHistogramBucketCount = 50;
 
+bool ShouldReportLatencyMetricsForSequenceType(
+    FrameSequenceTrackerType sequence_type) {
+  return sequence_type != FrameSequenceTrackerType::kUniversal;
+}
+
 std::string HistogramName(const int report_type_index,
                           FrameSequenceTrackerType frame_sequence_tracker_type,
                           const int stage_type_index) {
   DCHECK_LE(frame_sequence_tracker_type, FrameSequenceTrackerType::kMaxType);
+  DCHECK(
+      ShouldReportLatencyMetricsForSequenceType(frame_sequence_tracker_type));
   const char* tracker_type_name =
       FrameSequenceTracker::GetFrameSequenceTrackerTypeName(
           frame_sequence_tracker_type);
@@ -298,6 +305,8 @@
     CompositorFrameReporter::MissedFrameReportTypes report_type,
     const CompositorFrameReporter::StageData& stage,
     FrameSequenceTrackerType frame_sequence_tracker_type) const {
+  if (!ShouldReportLatencyMetricsForSequenceType(frame_sequence_tracker_type))
+    return;
   base::TimeDelta stage_delta = stage.end_time - stage.start_time;
   ReportHistogram(report_type, frame_sequence_tracker_type,
                   static_cast<int>(stage.stage_type), stage_delta);
diff --git a/cc/test/layer_tree_test.cc b/cc/test/layer_tree_test.cc
index 69601f1..378ce7bd 100644
--- a/cc/test/layer_tree_test.cc
+++ b/cc/test/layer_tree_test.cc
@@ -1037,8 +1037,10 @@
       std::make_unique<viz::TestGpuMemoryBufferManager>();
   task_graph_runner_.reset(new TestTaskGraphRunner);
 
-  if (mode == CompositorMode::THREADED)
+  if (mode == CompositorMode::THREADED) {
     settings_.commit_to_active_tree = false;
+    settings_.single_thread_proxy_scheduler = false;
+  }
   // Disable latency recovery to make the scheduler more predictable in its
   // actions and less dependent on timings to make decisions.
   settings_.enable_latency_recovery = false;
diff --git a/cc/trees/layer_tree_host_unittest_animation.cc b/cc/trees/layer_tree_host_unittest_animation.cc
index d62c149..a84b3bb 100644
--- a/cc/trees/layer_tree_host_unittest_animation.cc
+++ b/cc/trees/layer_tree_host_unittest_animation.cc
@@ -8,6 +8,7 @@
 #include <climits>
 
 #include "base/bind.h"
+#include "base/metrics/statistics_recorder.h"
 #include "cc/animation/animation.h"
 #include "cc/animation/animation_curve.h"
 #include "cc/animation/animation_host.h"
@@ -1044,6 +1045,10 @@
     EXPECT_GT(request_token_, 0u);
     EXPECT_GT(received_token_, request_token_);
     EXPECT_GE(received_token_, 5u);
+    EXPECT_TRUE(base::StatisticsRecorder::FindHistogram(
+        "CompositorLatency.TotalLatency"));
+    EXPECT_FALSE(base::StatisticsRecorder::FindHistogram(
+        "CompositorLatency.Universal.TotalLatency"));
   }
 
  private:
diff --git a/chrome/VERSION b/chrome/VERSION
index e85af76..320677ab 100644
--- a/chrome/VERSION
+++ b/chrome/VERSION
@@ -1,4 +1,4 @@
 MAJOR=81
 MINOR=0
-BUILD=4028
+BUILD=4029
 PATCH=0
diff --git a/chrome/android/java/res/layout/tab_switcher_toolbar.xml b/chrome/android/java/res/layout/tab_switcher_toolbar.xml
index aaeda44..e863cc36 100644
--- a/chrome/android/java/res/layout/tab_switcher_toolbar.xml
+++ b/chrome/android/java/res/layout/tab_switcher_toolbar.xml
@@ -18,15 +18,13 @@
         android:background="?attr/selectableItemBackground"
         android:orientation="horizontal"
         android:visibility="gone">
-        <ImageView
-            android:layout_width="@dimen/toolbar_button_width"
-            android:layout_height="56dp"
+        <org.chromium.chrome.browser.toolbar.NewTabButton
+            style="@style/ToolbarButton"
+            android:layout_width="wrap_content"
             android:layout_gravity="start|top"
-            android:scaleType="center"
             android:paddingStart="16dp"
             android:paddingEnd="16dp"
-            app:srcCompat="@drawable/new_tab_icon"
-            android:contentDescription="@string/accessibility_toolbar_btn_new_tab"/>
+            android:contentDescription="@string/accessibility_toolbar_btn_new_tab" />
         <TextView
             android:layout_width="wrap_content"
             android:layout_height="match_parent"
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/locale/LocaleManager.java b/chrome/android/java/src/org/chromium/chrome/browser/locale/LocaleManager.java
index 9b5edc1..7c172a3 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/locale/LocaleManager.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/locale/LocaleManager.java
@@ -6,8 +6,6 @@
 
 import android.app.Activity;
 import android.content.Context;
-import android.content.SharedPreferences;
-import android.os.StrictMode;
 
 import androidx.annotation.IntDef;
 import androidx.annotation.Nullable;
@@ -26,6 +24,8 @@
 import org.chromium.chrome.browser.AppHooks;
 import org.chromium.chrome.browser.ChromeFeatureList;
 import org.chromium.chrome.browser.ChromeSwitches;
+import org.chromium.chrome.browser.preferences.ChromePreferenceKeys;
+import org.chromium.chrome.browser.preferences.SharedPreferencesManager;
 import org.chromium.chrome.browser.search_engines.TemplateUrlServiceFactory;
 import org.chromium.chrome.browser.settings.SettingsLauncher;
 import org.chromium.chrome.browser.settings.search_engine.SearchEngineSettings;
@@ -48,9 +48,6 @@
  * Manager for some locale specific logics.
  */
 public class LocaleManager {
-    public static final String PREF_AUTO_SWITCH = "LocaleManager_PREF_AUTO_SWITCH";
-    public static final String PREF_PROMO_SHOWN = "LocaleManager_PREF_PROMO_SHOWN";
-    public static final String PREF_WAS_IN_SPECIAL_LOCALE = "LocaleManager_WAS_IN_SPECIAL_LOCALE";
     public static final String SPECIAL_LOCALE_ID = "US";
 
     /** The current state regarding search engine promo dialogs. */
@@ -74,6 +71,8 @@
         int SHOW_NEW = 2;
     }
 
+    // TODO(crbug.com/1022108): Remove this when downstream uses the replacement:
+    // {@link ChromePreferenceKeys#LOCALE_MANAGER_SEARCH_ENGINE_PROMO_SHOW_STATE}.
     protected static final String KEY_SEARCH_ENGINE_PROMO_SHOW_STATE =
             "com.android.chrome.SEARCH_ENGINE_PROMO_SHOWN";
 
@@ -118,14 +117,9 @@
      */
     public LocaleManager() {
         @SearchEnginePromoState
-        int state = SearchEnginePromoState.SHOULD_CHECK;
-        StrictMode.ThreadPolicy oldPolicy = StrictMode.allowThreadDiskReads();
-        try {
-            state = ContextUtils.getAppSharedPreferences().getInt(
-                    KEY_SEARCH_ENGINE_PROMO_SHOW_STATE, SearchEnginePromoState.SHOULD_CHECK);
-        } finally {
-            StrictMode.setThreadPolicy(oldPolicy);
-        }
+        int state = SharedPreferencesManager.getInstance().readInt(
+                ChromePreferenceKeys.LOCALE_MANAGER_SEARCH_ENGINE_PROMO_SHOW_STATE,
+                SearchEnginePromoState.SHOULD_CHECK);
         mSearchEnginePromoCompleted = state == SearchEnginePromoState.CHECKED_AND_SHOWN;
     }
 
@@ -202,8 +196,9 @@
      * long as the user is in this locale.
      */
     protected void maybeAutoSwitchSearchEngine() {
-        SharedPreferences preferences = ContextUtils.getAppSharedPreferences();
-        boolean wasInSpecialLocale = preferences.getBoolean(PREF_WAS_IN_SPECIAL_LOCALE, false);
+        SharedPreferencesManager preferences = SharedPreferencesManager.getInstance();
+        boolean wasInSpecialLocale = preferences.readBoolean(
+                ChromePreferenceKeys.LOCALE_MANAGER_WAS_IN_SPECIAL_LOCALE, false);
         boolean isInSpecialLocale = isSpecialLocaleEnabled();
         if (wasInSpecialLocale && !isInSpecialLocale) {
             revertDefaultSearchEngineOverride();
@@ -215,7 +210,8 @@
             // As long as the user is in the special locale, special engines should be in the list.
             addSpecialSearchEngines();
         }
-        preferences.edit().putBoolean(PREF_WAS_IN_SPECIAL_LOCALE, isInSpecialLocale).apply();
+        preferences.writeBoolean(
+                ChromePreferenceKeys.LOCALE_MANAGER_WAS_IN_SPECIAL_LOCALE, isInSpecialLocale);
     }
 
     /**
@@ -345,15 +341,16 @@
      * @return Whether auto switch for search engine is enabled.
      */
     public boolean isSearchEngineAutoSwitchEnabled() {
-        return ContextUtils.getAppSharedPreferences().getBoolean(PREF_AUTO_SWITCH, false);
+        return SharedPreferencesManager.getInstance().readBoolean(
+                ChromePreferenceKeys.LOCALE_MANAGER_AUTO_SWITCH, false);
     }
 
     /**
      * Sets whether auto switch for search engine is enabled.
      */
     public void setSearchEngineAutoSwitch(boolean isEnabled) {
-        ContextUtils.getAppSharedPreferences().edit().putBoolean(PREF_AUTO_SWITCH, isEnabled)
-                .apply();
+        SharedPreferencesManager.getInstance().writeBoolean(
+                ChromePreferenceKeys.LOCALE_MANAGER_AUTO_SWITCH, isEnabled);
     }
 
     /**
@@ -381,8 +378,8 @@
     @SearchEnginePromoType
     public int getSearchEnginePromoShowType() {
         if (!isSpecialLocaleEnabled()) return SearchEnginePromoType.DONT_SHOW;
-        SharedPreferences preferences = ContextUtils.getAppSharedPreferences();
-        if (preferences.getBoolean(PREF_PROMO_SHOWN, false)) {
+        SharedPreferencesManager preferences = SharedPreferencesManager.getInstance();
+        if (preferences.readBoolean(ChromePreferenceKeys.LOCALE_MANAGER_PROMO_SHOWN, false)) {
             return SearchEnginePromoType.DONT_SHOW;
         }
         return SearchEnginePromoType.SHOW_SOGOU;
@@ -413,11 +410,9 @@
     protected void onUserSearchEngineChoiceFromPromoDialog(
             @SearchEnginePromoType int type, List<String> keywords, String keyword) {
         TemplateUrlServiceFactory.get().setSearchEngine(keyword);
-        ContextUtils.getAppSharedPreferences()
-                .edit()
-                .putInt(KEY_SEARCH_ENGINE_PROMO_SHOW_STATE,
-                        SearchEnginePromoState.CHECKED_AND_SHOWN)
-                .apply();
+        SharedPreferencesManager.getInstance().writeInt(
+                ChromePreferenceKeys.LOCALE_MANAGER_SEARCH_ENGINE_PROMO_SHOW_STATE,
+                SearchEnginePromoState.CHECKED_AND_SHOWN);
         mSearchEnginePromoCompleted = true;
     }
 
@@ -482,14 +477,9 @@
             return false;
         }
         @SearchEnginePromoState
-        int state = SearchEnginePromoState.SHOULD_CHECK;
-        StrictMode.ThreadPolicy oldPolicy = StrictMode.allowThreadDiskReads();
-        try {
-            state = ContextUtils.getAppSharedPreferences().getInt(
-                    KEY_SEARCH_ENGINE_PROMO_SHOW_STATE, SearchEnginePromoState.SHOULD_CHECK);
-        } finally {
-            StrictMode.setThreadPolicy(oldPolicy);
-        }
+        int state = SharedPreferencesManager.getInstance().readInt(
+                ChromePreferenceKeys.LOCALE_MANAGER_SEARCH_ENGINE_PROMO_SHOW_STATE,
+                SearchEnginePromoState.SHOULD_CHECK);
         return !mSearchEnginePromoCheckedThisSession
                 && state == SearchEnginePromoState.SHOULD_CHECK;
     }
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/locale/SogouPromoDialog.java b/chrome/android/java/src/org/chromium/chrome/browser/locale/SogouPromoDialog.java
index e1a4657..8da2451 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/locale/SogouPromoDialog.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/locale/SogouPromoDialog.java
@@ -18,9 +18,10 @@
 import androidx.annotation.Nullable;
 
 import org.chromium.base.Callback;
-import org.chromium.base.ContextUtils;
 import org.chromium.base.metrics.RecordHistogram;
 import org.chromium.chrome.R;
+import org.chromium.chrome.browser.preferences.ChromePreferenceKeys;
+import org.chromium.chrome.browser.preferences.SharedPreferencesManager;
 import org.chromium.chrome.browser.settings.SettingsLauncher;
 import org.chromium.chrome.browser.settings.search_engine.SearchEngineSettings;
 import org.chromium.chrome.browser.ui.widget.PromoDialog;
@@ -141,10 +142,8 @@
             default:
                 assert false : "Unexpected choice";
         }
-        ContextUtils.getAppSharedPreferences()
-                .edit()
-                .putBoolean(LocaleManager.PREF_PROMO_SHOWN, true)
-                .apply();
+        SharedPreferencesManager.getInstance().writeBoolean(
+                ChromePreferenceKeys.LOCALE_MANAGER_PROMO_SHOWN, true);
         RecordHistogram.recordEnumeratedHistogram(
                 "SpecialLocale.PromotionDialog", mChoice, UserChoice.NUM_ENTRIES);
 
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/vr/ArImmersiveOverlay.java b/chrome/android/java/src/org/chromium/chrome/browser/vr/ArImmersiveOverlay.java
index f92ac46..cf153b8 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/vr/ArImmersiveOverlay.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/vr/ArImmersiveOverlay.java
@@ -62,6 +62,7 @@
 
     private interface SurfaceUiWrapper {
         public void onSurfaceVisible();
+        public void forwardMotionEvent(MotionEvent ev);
         public void destroy();
     }
 
@@ -102,6 +103,9 @@
         }
 
         @Override // SurfaceUiWrapper
+        public void forwardMotionEvent(MotionEvent ev) {}
+
+        @Override // SurfaceUiWrapper
         public void destroy() {
             if (mNotificationToast != null) {
                 mNotificationToast.cancel();
@@ -129,6 +133,10 @@
             mSurfaceView.getHolder().addCallback(ArImmersiveOverlay.this);
             mSurfaceView.setKeepScreenOn(true);
 
+            // Process touch input events for XR input. This consumes them, they'll be resent to
+            // the compositor view via forwardMotionEvent.
+            mSurfaceView.setOnTouchListener(ArImmersiveOverlay.this);
+
             View content = mActivity.getWindow().findViewById(android.R.id.content);
             ViewGroup group = (ViewGroup) content.getParent();
             group.addView(mSurfaceView);
@@ -156,6 +164,12 @@
         public void onSurfaceVisible() {}
 
         @Override // SurfaceUiWrapper
+        public void forwardMotionEvent(MotionEvent ev) {
+            View contentView = mActivity.getCompositorViewHolder();
+            contentView.dispatchTouchEvent(ev);
+        }
+
+        @Override // SurfaceUiWrapper
         public void destroy() {
             mActivity.getFullscreenManager().removeListener(mFullscreenListener);
             View content = mActivity.getWindow().findViewById(android.R.id.content);
@@ -171,11 +185,18 @@
         // Only forward primary actions, ignore more complex events such as secondary pointer
         // touches. Ignore batching since we're only sending one ray pose per frame.
         if (ev.getAction() == MotionEvent.ACTION_DOWN || ev.getAction() == MotionEvent.ACTION_MOVE
-                || ev.getAction() == MotionEvent.ACTION_UP) {
-            boolean touching = ev.getAction() != MotionEvent.ACTION_UP;
+                || ev.getAction() == MotionEvent.ACTION_UP
+                || ev.getAction() == MotionEvent.ACTION_CANCEL) {
+            boolean touching = ev.getAction() != MotionEvent.ACTION_UP
+                    && ev.getAction() != MotionEvent.ACTION_CANCEL;
             if (DEBUG_LOGS) Log.i(TAG, "onTouch touching=" + touching);
             mArCoreJavaUtils.onDrawingSurfaceTouch(touching, ev.getX(0), ev.getY(0));
         }
+
+        // We need to consume the touch (returning true) to ensure that we get
+        // followup events such as MOVE and UP. DOM Overlay mode needs to forward
+        // the touch to the content view so that its UI elements keep working.
+        mSurfaceUi.forwardMotionEvent(ev);
         return true;
     }
 
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
index 20d2dad..06aad61 100644
--- a/chrome/browser/BUILD.gn
+++ b/chrome/browser/BUILD.gn
@@ -3730,6 +3730,8 @@
       "apps/app_service/extension_apps.h",
       "apps/app_service/icon_key_util.cc",
       "apps/app_service/icon_key_util.h",
+      "apps/app_service/menu_util.cc",
+      "apps/app_service/menu_util.h",
       "apps/app_service/web_apps.cc",
       "apps/app_service/web_apps.h",
       "component_updater/cros_component_installer_chromeos.cc",
diff --git a/chrome/browser/accessibility/accessibility_ui.cc b/chrome/browser/accessibility/accessibility_ui.cc
index 74fa33a..1185363 100644
--- a/chrome/browser/accessibility/accessibility_ui.cc
+++ b/chrome/browser/accessibility/accessibility_ui.cc
@@ -660,6 +660,9 @@
   content::WebContents* web_contents =
       content::WebContents::FromRenderViewHost(rvh);
   if (start) {
+    if (observer_) {
+      return;
+    }
     web_contents->RecordAccessibilityEvents(
         base::BindRepeating(&AccessibilityUIMessageHandler::Callback,
                             base::Unretained(this)),
diff --git a/chrome/browser/android/chrome_feature_list.cc b/chrome/browser/android/chrome_feature_list.cc
index eaeff52..44ffb34f 100644
--- a/chrome/browser/android/chrome_feature_list.cc
+++ b/chrome/browser/android/chrome_feature_list.cc
@@ -505,7 +505,7 @@
                                           base::FEATURE_DISABLED_BY_DEFAULT};
 
 const base::Feature kOverlayNewLayout{"OverlayNewLayout",
-                                      base::FEATURE_DISABLED_BY_DEFAULT};
+                                      base::FEATURE_ENABLED_BY_DEFAULT};
 
 // TODO(rouslan): Remove this.
 const base::Feature kPayWithGoogleV1{"PayWithGoogleV1",
diff --git a/chrome/browser/android/vr/arcore_device/arcore_gl.cc b/chrome/browser/android/vr/arcore_device/arcore_gl.cc
index 8fb0020..e596d96 100644
--- a/chrome/browser/android/vr/arcore_device/arcore_gl.cc
+++ b/chrome/browser/android/vr/arcore_device/arcore_gl.cc
@@ -858,6 +858,10 @@
     screen_touch_pending_ = false;
   }
 
+  // Save the touch point for use in Blink's XR input event deduplication.
+  state->overlay_pointer_position = base::make_optional<gfx::PointF>(
+      screen_last_touch_.x(), screen_last_touch_.y());
+
   state->description = device::mojom::XRInputSourceDescription::New();
 
   state->description->handedness = device::mojom::XRHandedness::NONE;
diff --git a/chrome/browser/apps/app_service/app_service_proxy.cc b/chrome/browser/apps/app_service/app_service_proxy.cc
index a5df1c0..ea6dc8d 100644
--- a/chrome/browser/apps/app_service/app_service_proxy.cc
+++ b/chrome/browser/apps/app_service/app_service_proxy.cc
@@ -265,8 +265,9 @@
     bool clear_site_data,
     bool report_abuse,
     UninstallDialog* uninstall_dialog) {
-  if (uninstall)
+  if (uninstall) {
     app_service_->Uninstall(app_type, app_id, clear_site_data, report_abuse);
+  }
 
   DCHECK(uninstall_dialog);
   auto it = uninstall_dialogs_.find(uninstall_dialog);
@@ -276,8 +277,9 @@
 
 void AppServiceProxy::PauseApps(
     const std::map<std::string, PauseData>& pause_data) {
-  if (!app_service_.is_connected())
+  if (!app_service_.is_connected()) {
     return;
+  }
 
   for (auto& data : pause_data) {
     apps::mojom::AppType app_type = cache_.GetAppType(data.first);
@@ -296,8 +298,9 @@
 }
 
 void AppServiceProxy::UnpauseApps(const std::set<std::string>& app_ids) {
-  if (!app_service_.is_connected())
+  if (!app_service_.is_connected()) {
     return;
+  }
 
   for (auto& app_id : app_ids) {
     apps::mojom::AppType app_type = cache_.GetAppType(app_id);
@@ -313,6 +316,20 @@
   app_service_->PauseApp(app_type, app_id);
 }
 
+void AppServiceProxy::GetMenuModel(const std::string& app_id,
+                                   apps::mojom::MenuType menu_type,
+                                   GetMenuModelCallback callback) {
+  if (!app_service_.is_connected()) {
+    return;
+  }
+
+  // TODO(crbug.com/1038487): change to use below code to call
+  // AppService->GetMenuModel when GetMenuModel is added to mojom.
+  // apps::mojom::AppType app_type = cache_.GetAppType(app_id);
+  // app_service_->GetMenuModel(app_type, app_id, menu_type,
+  //                            std::move(callback));
+}
+
 void AppServiceProxy::OpenNativeSettings(const std::string& app_id) {
   if (app_service_.is_connected()) {
     cache_.ForOneApp(app_id, [this](const apps::AppUpdate& update) {
diff --git a/chrome/browser/apps/app_service/app_service_proxy.h b/chrome/browser/apps/app_service/app_service_proxy.h
index 4b2a69a..32b33a8 100644
--- a/chrome/browser/apps/app_service/app_service_proxy.h
+++ b/chrome/browser/apps/app_service/app_service_proxy.h
@@ -57,6 +57,8 @@
                         public apps::mojom::Subscriber,
                         public apps::AppRegistryCache::Observer {
  public:
+  using GetMenuModelCallback =
+      base::OnceCallback<void(apps::mojom::MenuItemsPtr)>;
   using OnPauseDialogClosedCallback = base::OnceCallback<void()>;
 
   explicit AppServiceProxy(Profile* profile);
@@ -124,6 +126,11 @@
   void OnPauseDialogClosed(apps::mojom::AppType app_type,
                            const std::string& app_id);
 
+  // Returns the menu items for the given |app_id|.
+  void GetMenuModel(const std::string& app_id,
+                    apps::mojom::MenuType menu_type,
+                    GetMenuModelCallback callback);
+
   void OpenNativeSettings(const std::string& app_id);
 
   void FlushMojoCallsForTesting();
diff --git a/chrome/browser/apps/app_service/arc_apps.cc b/chrome/browser/apps/app_service/arc_apps.cc
index f441a9d..7f5a2fe 100644
--- a/chrome/browser/apps/app_service/arc_apps.cc
+++ b/chrome/browser/apps/app_service/arc_apps.cc
@@ -487,6 +487,12 @@
   SetIconEffect(app_id);
 }
 
+void ArcApps::GetMenuModel(const std::string& app_id,
+                           apps::mojom::MenuType menu_type,
+                           GetMenuModelCallback callback) {
+  std::move(callback).Run(apps::mojom::MenuItems::New());
+}
+
 void ArcApps::OpenNativeSettings(const std::string& app_id) {
   ArcAppListPrefs* prefs = ArcAppListPrefs::Get(profile_);
   if (!prefs) {
diff --git a/chrome/browser/apps/app_service/arc_apps.h b/chrome/browser/apps/app_service/arc_apps.h
index 78b338e..f7557052 100644
--- a/chrome/browser/apps/app_service/arc_apps.h
+++ b/chrome/browser/apps/app_service/arc_apps.h
@@ -52,6 +52,8 @@
 
  private:
   using AppIdToTaskIds = std::map<std::string, std::set<int>>;
+  using GetMenuModelCallback =
+      base::OnceCallback<void(apps::mojom::MenuItemsPtr)>;
   using TaskIdToAppId = std::map<int, std::string>;
 
   ArcApps(Profile* profile, apps::AppServiceProxy* proxy);
@@ -84,6 +86,9 @@
                  bool report_abuse) override;
   void PauseApp(const std::string& app_id) override;
   void UnpauseApps(const std::string& app_id) override;
+  void GetMenuModel(const std::string& app_id,
+                    apps::mojom::MenuType menu_type,
+                    GetMenuModelCallback callback);
   void OpenNativeSettings(const std::string& app_id) override;
   void OnPreferredAppSet(const std::string& app_id,
                          apps::mojom::IntentFilterPtr intent_filter,
diff --git a/chrome/browser/apps/app_service/built_in_chromeos_apps.cc b/chrome/browser/apps/app_service/built_in_chromeos_apps.cc
index af9f6245..c0dc280 100644
--- a/chrome/browser/apps/app_service/built_in_chromeos_apps.cc
+++ b/chrome/browser/apps/app_service/built_in_chromeos_apps.cc
@@ -11,9 +11,12 @@
 #include "base/time/time.h"
 #include "chrome/browser/apps/app_service/app_icon_factory.h"
 #include "chrome/browser/apps/app_service/app_service_metrics.h"
+#include "chrome/browser/apps/app_service/menu_util.h"
+#include "chrome/browser/chromeos/plugin_vm/plugin_vm_util.h"
 #include "chrome/browser/profiles/profile.h"
 #include "chrome/browser/ui/app_list/internal_app/internal_app_item.h"
 #include "chrome/browser/ui/app_list/internal_app/internal_app_metadata.h"
+#include "chrome/grit/generated_resources.h"
 #include "chrome/services/app_service/public/mojom/types.mojom.h"
 #include "ui/base/l10n/l10n_util.h"
 
@@ -186,6 +189,17 @@
   NOTIMPLEMENTED();
 }
 
+void BuiltInChromeOsApps::GetMenuModel(const std::string& app_id,
+                                       apps::mojom::MenuType menu_type,
+                                       GetMenuModelCallback callback) {
+  apps::mojom::MenuItemsPtr menu_items = apps::mojom::MenuItems::New();
+  if (app_id == plugin_vm::kPluginVmAppId) {
+    AddCommandItem(ash::STOP_APP, IDS_PLUGIN_VM_SHUT_DOWN_MENU_ITEM,
+                   &menu_items);
+  }
+  std::move(callback).Run(std::move(menu_items));
+}
+
 void BuiltInChromeOsApps::OpenNativeSettings(const std::string& app_id) {
   NOTIMPLEMENTED();
 }
diff --git a/chrome/browser/apps/app_service/built_in_chromeos_apps.h b/chrome/browser/apps/app_service/built_in_chromeos_apps.h
index 7422b5f..a2916ca 100644
--- a/chrome/browser/apps/app_service/built_in_chromeos_apps.h
+++ b/chrome/browser/apps/app_service/built_in_chromeos_apps.h
@@ -31,6 +31,9 @@
   static bool SetHideSettingsAppForTesting(bool hide);
 
  private:
+  using GetMenuModelCallback =
+      base::OnceCallback<void(::apps::mojom::MenuItemsPtr)>;
+
   void Initialize(const mojo::Remote<apps::mojom::AppService>& app_service);
 
   // apps::mojom::Publisher overrides.
@@ -58,6 +61,9 @@
                  bool report_abuse) override;
   void PauseApp(const std::string& app_id) override;
   void UnpauseApps(const std::string& app_id) override;
+  void GetMenuModel(const std::string& app_id,
+                    apps::mojom::MenuType menu_type,
+                    GetMenuModelCallback callback);
   void OpenNativeSettings(const std::string& app_id) override;
   void OnPreferredAppSet(const std::string& app_id,
                          apps::mojom::IntentFilterPtr intent_filter,
diff --git a/chrome/browser/apps/app_service/crostini_apps.cc b/chrome/browser/apps/app_service/crostini_apps.cc
index 52aed886..62ff9927 100644
--- a/chrome/browser/apps/app_service/crostini_apps.cc
+++ b/chrome/browser/apps/app_service/crostini_apps.cc
@@ -172,6 +172,12 @@
   NOTIMPLEMENTED();
 }
 
+void CrostiniApps::GetMenuModel(const std::string& app_id,
+                                apps::mojom::MenuType menu_type,
+                                GetMenuModelCallback callback) {
+  std::move(callback).Run(apps::mojom::MenuItems::New());
+}
+
 void CrostiniApps::OpenNativeSettings(const std::string& app_id) {
   NOTIMPLEMENTED();
 }
diff --git a/chrome/browser/apps/app_service/crostini_apps.h b/chrome/browser/apps/app_service/crostini_apps.h
index a066e48..5c3b89a 100644
--- a/chrome/browser/apps/app_service/crostini_apps.h
+++ b/chrome/browser/apps/app_service/crostini_apps.h
@@ -43,6 +43,9 @@
       Profile* profile);
 
  private:
+  using GetMenuModelCallback =
+      base::OnceCallback<void(apps::mojom::MenuItemsPtr)>;
+
   enum class PublishAppIDType {
     kInstall,
     kUninstall,
@@ -76,6 +79,9 @@
                  bool report_abuse) override;
   void PauseApp(const std::string& app_id) override;
   void UnpauseApps(const std::string& app_id) override;
+  void GetMenuModel(const std::string& app_id,
+                    apps::mojom::MenuType menu_type,
+                    GetMenuModelCallback callback);
   void OpenNativeSettings(const std::string& app_id) override;
   void OnPreferredAppSet(const std::string& app_id,
                          apps::mojom::IntentFilterPtr intent_filter,
diff --git a/chrome/browser/apps/app_service/extension_apps.cc b/chrome/browser/apps/app_service/extension_apps.cc
index 36fcc2a..7d47a7f0 100644
--- a/chrome/browser/apps/app_service/extension_apps.cc
+++ b/chrome/browser/apps/app_service/extension_apps.cc
@@ -638,6 +638,12 @@
   web_limit->ResumeWebActivity(app_id);
 }
 
+void ExtensionApps::GetMenuModel(const std::string& app_id,
+                                 apps::mojom::MenuType menu_type,
+                                 GetMenuModelCallback callback) {
+  std::move(callback).Run(apps::mojom::MenuItems::New());
+}
+
 void ExtensionApps::OpenNativeSettings(const std::string& app_id) {
   if (!profile_) {
     return;
diff --git a/chrome/browser/apps/app_service/extension_apps.h b/chrome/browser/apps/app_service/extension_apps.h
index 4a009f8..038ec96 100644
--- a/chrome/browser/apps/app_service/extension_apps.h
+++ b/chrome/browser/apps/app_service/extension_apps.h
@@ -72,6 +72,9 @@
   void ObserveArc();
 
  private:
+  using GetMenuModelCallback =
+      base::OnceCallback<void(apps::mojom::MenuItemsPtr)>;
+
   void Initialize(const mojo::Remote<apps::mojom::AppService>& app_service);
 
   // Determines whether the given extension should be treated as type app_type_,
@@ -103,6 +106,9 @@
                  bool report_abuse) override;
   void PauseApp(const std::string& app_id) override;
   void UnpauseApps(const std::string& app_id) override;
+  void GetMenuModel(const std::string& app_id,
+                    apps::mojom::MenuType menu_type,
+                    GetMenuModelCallback callback);
   void OpenNativeSettings(const std::string& app_id) override;
   void OnPreferredAppSet(const std::string& app_id,
                          apps::mojom::IntentFilterPtr intent_filter,
diff --git a/chrome/browser/apps/app_service/menu_util.cc b/chrome/browser/apps/app_service/menu_util.cc
new file mode 100644
index 0000000..5279235
--- /dev/null
+++ b/chrome/browser/apps/app_service/menu_util.cc
@@ -0,0 +1,24 @@
+// Copyright 2020 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.
+
+#include "chrome/browser/apps/app_service/menu_util.h"
+
+namespace {
+int kInvalidRadioGroupId = -1;
+}
+
+namespace apps {
+
+void AddCommandItem(uint32_t command_id,
+                    uint32_t string_id,
+                    apps::mojom::MenuItemsPtr* menu_items) {
+  apps::mojom::MenuItemPtr menu_item = apps::mojom::MenuItem::New();
+  menu_item->type = apps::mojom::MenuItemType::kCommand;
+  menu_item->command_id = command_id;
+  menu_item->string_id = string_id;
+  menu_item->radio_group_id = kInvalidRadioGroupId;
+  (*menu_items)->items.push_back(menu_item.Clone());
+}
+
+}  // namespace apps
diff --git a/chrome/browser/apps/app_service/menu_util.h b/chrome/browser/apps/app_service/menu_util.h
new file mode 100644
index 0000000..73bf270
--- /dev/null
+++ b/chrome/browser/apps/app_service/menu_util.h
@@ -0,0 +1,18 @@
+// Copyright 2020 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_BROWSER_APPS_APP_SERVICE_MENU_UTIL_H_
+#define CHROME_BROWSER_APPS_APP_SERVICE_MENU_UTIL_H_
+
+#include "chrome/services/app_service/public/mojom/types.mojom.h"
+
+namespace apps {
+
+void AddCommandItem(uint32_t command_id,
+                    uint32_t string_id,
+                    apps::mojom::MenuItemsPtr* menu_items);
+
+}  // namespace apps
+
+#endif  // CHROME_BROWSER_APPS_APP_SERVICE_MENU_UTIL_H_
diff --git a/chrome/browser/apps/app_service/web_apps.cc b/chrome/browser/apps/app_service/web_apps.cc
index 7bcdcb3e..90664f2 100644
--- a/chrome/browser/apps/app_service/web_apps.cc
+++ b/chrome/browser/apps/app_service/web_apps.cc
@@ -348,6 +348,12 @@
   SetIconEffect(app_id);
 }
 
+void WebApps::GetMenuModel(const std::string& app_id,
+                           apps::mojom::MenuType menu_type,
+                           GetMenuModelCallback callback) {
+  std::move(callback).Run(apps::mojom::MenuItems::New());
+}
+
 void WebApps::OpenNativeSettings(const std::string& app_id) {
   if (!profile_) {
     return;
diff --git a/chrome/browser/apps/app_service/web_apps.h b/chrome/browser/apps/app_service/web_apps.h
index f3a8f32..f127f82 100644
--- a/chrome/browser/apps/app_service/web_apps.h
+++ b/chrome/browser/apps/app_service/web_apps.h
@@ -53,6 +53,9 @@
   void ObserveArc();
 
  private:
+  using GetMenuModelCallback =
+      base::OnceCallback<void(apps::mojom::MenuItemsPtr)>;
+
   void Initialize(const mojo::Remote<apps::mojom::AppService>& app_service);
 
   const web_app::WebApp* GetWebApp(const web_app::AppId& app_id) const;
@@ -83,6 +86,9 @@
                  bool report_abuse) override;
   void PauseApp(const std::string& app_id) override;
   void UnpauseApps(const std::string& app_id) override;
+  void GetMenuModel(const std::string& app_id,
+                    apps::mojom::MenuType menu_type,
+                    GetMenuModelCallback callback);
   void OpenNativeSettings(const std::string& app_id) override;
   void OnPreferredAppSet(const std::string& app_id,
                          apps::mojom::IntentFilterPtr intent_filter,
diff --git a/chrome/browser/chromeos/chrome_browser_main_chromeos.cc b/chrome/browser/chromeos/chrome_browser_main_chromeos.cc
index 68edd8c..02eac98 100644
--- a/chrome/browser/chromeos/chrome_browser_main_chromeos.cc
+++ b/chrome/browser/chromeos/chrome_browser_main_chromeos.cc
@@ -101,6 +101,7 @@
 #include "chrome/browser/chromeos/power/power_metrics_reporter.h"
 #include "chrome/browser/chromeos/power/process_data_collector.h"
 #include "chrome/browser/chromeos/power/renderer_freezer.h"
+#include "chrome/browser/chromeos/power/smart_charging/smart_charging_manager.h"
 #include "chrome/browser/chromeos/printing/bulk_printers_calculator_factory.h"
 #include "chrome/browser/chromeos/profiles/profile_helper.h"
 #include "chrome/browser/chromeos/resource_reporter/resource_reporter.h"
@@ -954,6 +955,8 @@
   // fetch of the initial CrosSettings DeviceRebootOnShutdown policy.
   shutdown_policy_forwarder_ = std::make_unique<ShutdownPolicyForwarder>();
 
+  smart_charging_manager_ = power::SmartChargingManager::CreateInstance();
+
   if (base::FeatureList::IsEnabled(
           ::features::kAdaptiveScreenBrightnessLogging)) {
     adaptive_screen_brightness_manager_ =
@@ -1046,6 +1049,7 @@
     ScreenLocker::ShutDownClass();
   low_disk_notification_.reset();
   demo_mode_resources_remover_.reset();
+  smart_charging_manager_.reset();
   adaptive_screen_brightness_manager_.reset();
   auto_screen_brightness_controller_.reset();
   dark_resume_controller_.reset();
diff --git a/chrome/browser/chromeos/chrome_browser_main_chromeos.h b/chrome/browser/chromeos/chrome_browser_main_chromeos.h
index 7947d0c..eeee0fa 100644
--- a/chrome/browser/chromeos/chrome_browser_main_chromeos.h
+++ b/chrome/browser/chromeos/chrome_browser_main_chromeos.h
@@ -71,6 +71,7 @@
 }  // namespace internal
 
 namespace power {
+class SmartChargingManager;
 namespace ml {
 class AdaptiveScreenBrightnessManager;
 }  // namespace ml
@@ -153,6 +154,8 @@
   std::unique_ptr<lock_screen_apps::StateController>
       lock_screen_apps_state_controller_;
 
+  std::unique_ptr<power::SmartChargingManager> smart_charging_manager_;
+
   std::unique_ptr<power::ml::AdaptiveScreenBrightnessManager>
       adaptive_screen_brightness_manager_;
 
diff --git a/chrome/browser/chromeos/crostini/crostini_export_import.cc b/chrome/browser/chromeos/crostini/crostini_export_import.cc
index f613988..ecc62b72 100644
--- a/chrome/browser/chromeos/crostini/crostini_export_import.cc
+++ b/chrome/browser/chromeos/crostini/crostini_export_import.cc
@@ -106,9 +106,16 @@
 CrostiniExportImport::OperationData* CrostiniExportImport::NewOperationData(
     ExportImportType type,
     ContainerId container_id) {
-  TrackerFactory factory =
-      base::BindOnce(&CrostiniExportImportNotificationController::Create,
-                     profile_, container_id, GetUniqueNotificationId());
+  TrackerFactory factory = base::BindOnce(
+      [](Profile* profile, ContainerId container_id,
+         std::string notification_id, ExportImportType type,
+         base::FilePath path)
+          -> std::unique_ptr<CrostiniExportImportStatusTracker> {
+        return std::make_unique<CrostiniExportImportNotificationController>(
+            profile, type, std::move(notification_id), std::move(path),
+            std::move(container_id));
+      },
+      profile_, container_id, GetUniqueNotificationId());
   return NewOperationData(type, std::move(container_id), std::move(factory));
 }
 
@@ -205,8 +212,8 @@
     return std::move(callback).Run(CrostiniResult::NOT_ALLOWED);
   }
 
-  auto* status_tracker = std::move(operation_data->tracker_factory)
-                             .Run(operation_data->type, path);
+  auto status_tracker = std::move(operation_data->tracker_factory)
+                            .Run(operation_data->type, path);
 
   auto it = status_trackers_.find(operation_data->container_id);
   if (it != status_trackers_.end()) {
@@ -218,7 +225,7 @@
     return;
   } else {
     status_trackers_.emplace_hint(it, operation_data->container_id,
-                                  status_tracker);
+                                  std::move(status_tracker));
     for (auto& observer : observers_) {
       observer.OnCrostiniExportImportOperationStatusChanged(true);
     }
@@ -268,7 +275,7 @@
                << failure_reason;
     auto it = status_trackers_.find(container_id);
     if (it != status_trackers_.end()) {
-      RemoveTracker(it).SetStatusFailed();
+      RemoveTracker(it)->SetStatusFailed();
     } else {
       NOTREACHED() << container_id << " has no status_tracker to update";
     }
@@ -306,7 +313,7 @@
                         base::TaskPriority::BEST_EFFORT},
                        base::BindOnce(base::IgnoreResult(&base::DeleteFile),
                                       it->second->path(), false));
-        RemoveTracker(it).SetStatusCancelled();
+        RemoveTracker(it)->SetStatusCancelled();
         break;
       }
       case CrostiniExportImportStatusTracker::Status::RUNNING:
@@ -324,7 +331,7 @@
               "Crostini.BackupSizeRatio",
               std::round(compressed_size * 100.0 / container_size));
         }
-        RemoveTracker(it).SetStatusDone();
+        RemoveTracker(it)->SetStatusDone();
         break;
       default:
         NOTREACHED();
@@ -340,7 +347,7 @@
                         base::TaskPriority::BEST_EFFORT},
                        base::BindOnce(base::IgnoreResult(&base::DeleteFile),
                                       it->second->path(), false));
-        RemoveTracker(it).SetStatusCancelled();
+        RemoveTracker(it)->SetStatusCancelled();
         break;
       }
       default:
@@ -370,7 +377,7 @@
                CrostiniExportImportStatusTracker::Status::RUNNING ||
            it->second->status() ==
                CrostiniExportImportStatusTracker::Status::CANCELLING);
-    RemoveTracker(it).SetStatusFailed();
+    RemoveTracker(it)->SetStatusFailed();
   }
   UMA_HISTOGRAM_ENUMERATION("Crostini.Backup", enum_hist_result);
   std::move(callback).Run(result);
@@ -431,7 +438,7 @@
                << failure_reason;
     auto it = status_trackers_.find(container_id);
     if (it != status_trackers_.end()) {
-      RemoveTracker(it).SetStatusFailed();
+      RemoveTracker(it)->SetStatusFailed();
     } else {
       NOTREACHED() << container_id << " has no status_tracker to update";
     }
@@ -465,7 +472,7 @@
           // natural to pretend the cancel did not happen, and instead display
           // success.
         case CrostiniExportImportStatusTracker::Status::CANCELLING:
-          RemoveTracker(it).SetStatusDone();
+          RemoveTracker(it)->SetStatusDone();
           break;
         default:
           NOTREACHED();
@@ -478,7 +485,7 @@
     if (it != status_trackers_.end()) {
       switch (it->second->status()) {
         case CrostiniExportImportStatusTracker::Status::CANCELLING:
-          RemoveTracker(it).SetStatusCancelled();
+          RemoveTracker(it)->SetStatusCancelled();
           break;
         default:
           NOTREACHED();
@@ -514,7 +521,7 @@
       if (it != status_trackers_.end()) {
         DCHECK(it->second->status() ==
                CrostiniExportImportStatusTracker::Status::RUNNING);
-        RemoveTracker(it).SetStatusFailed();
+        RemoveTracker(it)->SetStatusFailed();
       } else {
         NOTREACHED() << container_id << " has no status_tracker to update";
       }
@@ -558,12 +565,12 @@
       break;
     // Failure, set error message.
     case ImportContainerProgressStatus::FAILURE_ARCHITECTURE:
-      RemoveTracker(it).SetStatusFailedArchitectureMismatch(
+      RemoveTracker(it)->SetStatusFailedArchitectureMismatch(
           architecture_container, architecture_device);
       break;
     case ImportContainerProgressStatus::FAILURE_SPACE:
       DCHECK_GE(minimum_required_space, available_space);
-      RemoveTracker(it).SetStatusFailedInsufficientSpace(
+      RemoveTracker(it)->SetStatusFailedInsufficientSpace(
           minimum_required_space - available_space);
       break;
     default:
@@ -576,10 +583,12 @@
                             next_status_tracker_id_++);
 }
 
-CrostiniExportImportStatusTracker& CrostiniExportImport::RemoveTracker(
-    std::map<ContainerId, CrostiniExportImportStatusTracker*>::iterator it) {
+std::unique_ptr<CrostiniExportImportStatusTracker>
+CrostiniExportImport::RemoveTracker(
+    std::map<ContainerId,
+             std::unique_ptr<CrostiniExportImportStatusTracker>>::iterator it) {
   DCHECK(it != status_trackers_.end());
-  auto& status_tracker = *it->second;
+  auto status_tracker = std::move(it->second);
   status_trackers_.erase(it);
   for (auto& observer : observers_) {
     observer.OnCrostiniExportImportOperationStatusChanged(false);
@@ -623,7 +632,8 @@
   if (it == status_trackers_.end()) {
     return nullptr;
   }
-  return static_cast<CrostiniExportImportNotificationController*>(it->second)
+  return static_cast<CrostiniExportImportNotificationController*>(
+             it->second.get())
       ->GetWeakPtr();
 }
 
diff --git a/chrome/browser/chromeos/crostini/crostini_export_import.h b/chrome/browser/chromeos/crostini/crostini_export_import.h
index 24c86fe..0d55b13 100644
--- a/chrome/browser/chromeos/crostini/crostini_export_import.h
+++ b/chrome/browser/chromeos/crostini/crostini_export_import.h
@@ -68,9 +68,8 @@
         bool in_progress) = 0;
   };
 
-  using TrackerFactory =
-      base::OnceCallback<CrostiniExportImportStatusTracker*(ExportImportType,
-                                                            base::FilePath)>;
+  using TrackerFactory = base::OnceCallback<std::unique_ptr<
+      CrostiniExportImportStatusTracker>(ExportImportType, base::FilePath)>;
 
   struct OperationData {
     OperationData(ExportImportType type,
@@ -201,12 +200,15 @@
 
   std::string GetUniqueNotificationId();
 
-  CrostiniExportImportStatusTracker& RemoveTracker(
-      std::map<ContainerId, CrostiniExportImportStatusTracker*>::iterator it);
+  std::unique_ptr<CrostiniExportImportStatusTracker> RemoveTracker(
+      std::map<ContainerId,
+               std::unique_ptr<CrostiniExportImportStatusTracker>>::iterator
+          it);
 
   Profile* profile_;
   scoped_refptr<ui::SelectFileDialog> select_folder_dialog_;
-  std::map<ContainerId, CrostiniExportImportStatusTracker*> status_trackers_;
+  std::map<ContainerId, std::unique_ptr<CrostiniExportImportStatusTracker>>
+      status_trackers_;
   // |operation_data_storage_| persists the data required to complete an
   // operation while the file selection dialog is open/operation is in progress.
   std::unordered_map<OperationData*, std::unique_ptr<OperationData>>
diff --git a/chrome/browser/chromeos/crostini/crostini_export_import_notification_controller.cc b/chrome/browser/chromeos/crostini/crostini_export_import_notification_controller.cc
index 6ce81e8..3d11d07 100644
--- a/chrome/browser/chromeos/crostini/crostini_export_import_notification_controller.cc
+++ b/chrome/browser/chromeos/crostini/crostini_export_import_notification_controller.cc
@@ -32,6 +32,18 @@
 
 }  // namespace
 
+CrostiniExportImportClickCloseDelegate::CrostiniExportImportClickCloseDelegate()
+    : HandleNotificationClickDelegate(
+          HandleNotificationClickDelegate::ButtonClickCallback()) {}
+
+void CrostiniExportImportClickCloseDelegate::Close(bool by_user) {
+  if (!close_closure_.is_null())
+    close_closure_.Run();
+}
+
+CrostiniExportImportClickCloseDelegate::
+    ~CrostiniExportImportClickCloseDelegate() = default;
+
 CrostiniExportImportNotificationController::
     CrostiniExportImportNotificationController(
         Profile* profile,
@@ -41,7 +53,13 @@
         ContainerId container_id)
     : CrostiniExportImportStatusTracker(type, std::move(path)),
       profile_(profile),
-      container_id_(std::move(container_id)) {
+      container_id_(std::move(container_id)),
+      delegate_(
+          base::MakeRefCounted<CrostiniExportImportClickCloseDelegate>()) {
+  delegate_->SetCloseCallback(base::BindRepeating(
+      &CrostiniExportImportNotificationController::on_notification_closed,
+      weak_ptr_factory_.GetWeakPtr()));
+
   message_center::RichNotificationData rich_notification_data;
   rich_notification_data.vector_small_image = &kNotificationLinuxIcon;
   rich_notification_data.accent_color = ash::kSystemNotificationColorNormal;
@@ -55,9 +73,7 @@
       GURL(),  // origin_url
       message_center::NotifierId(message_center::NotifierType::SYSTEM_COMPONENT,
                                  kNotifierCrostiniExportImportOperation),
-      rich_notification_data,
-      base::MakeRefCounted<message_center::ThunkNotificationDelegate>(
-          weak_ptr_factory_.GetWeakPtr()));
+      rich_notification_data, delegate_);
   SetStatusRunning(0);
 }
 
@@ -78,6 +94,18 @@
     return;
   }
 
+  delegate_->SetCallback(base::BindRepeating(
+      [](Profile* profile, ExportImportType type, ContainerId container_id,
+         base::Optional<int> button_index) {
+        if (!button_index.has_value()) {
+          return;
+        }
+        DCHECK(*button_index == 1);
+        CrostiniExportImport::GetForProfile(profile)->CancelOperation(
+            type, container_id);
+      },
+      profile_, type(), container_id_));
+
   notification_->set_type(message_center::NOTIFICATION_TYPE_PROGRESS);
   notification_->set_accent_color(ash::kSystemNotificationColorNormal);
   notification_->set_title(l10n_util::GetStringUTF16(
@@ -100,6 +128,9 @@
     return;
   }
 
+  delegate_->SetCallback(
+      CrostiniExportImportClickCloseDelegate::ButtonClickCallback());
+
   notification_->set_type(message_center::NOTIFICATION_TYPE_PROGRESS);
   notification_->set_accent_color(ash::kSystemNotificationColorNormal);
   notification_->set_title(l10n_util::GetStringUTF16(
@@ -116,6 +147,17 @@
 }
 
 void CrostiniExportImportNotificationController::SetStatusDoneUI() {
+  if (type() == ExportImportType::EXPORT) {
+    delegate_->SetCallback(base::BindRepeating(
+        [](Profile* profile, base::FilePath path) {
+          platform_util::ShowItemInFolder(profile, path);
+        },
+        profile_, path()));
+  } else {
+    delegate_->SetCallback(
+        CrostiniExportImportClickCloseDelegate::ButtonClickCallback());
+  }
+
   notification_->set_type(message_center::NOTIFICATION_TYPE_SIMPLE);
   notification_->set_accent_color(ash::kSystemNotificationColorNormal);
   notification_->set_title(l10n_util::GetStringUTF16(
@@ -134,6 +176,9 @@
 }
 
 void CrostiniExportImportNotificationController::SetStatusCancelledUI() {
+  delegate_->SetCallback(
+      CrostiniExportImportClickCloseDelegate::ButtonClickCallback());
+
   NotificationDisplayService::GetForProfile(profile_)->Close(
       NotificationHandler::Type::TRANSIENT, notification_->id());
 }
@@ -141,6 +186,42 @@
 void CrostiniExportImportNotificationController::SetStatusFailedWithMessageUI(
     Status status,
     const base::string16& message) {
+  switch (status) {
+    case Status::FAILED_UNKNOWN_REASON:
+      delegate_->SetCallback(base::BindRepeating(
+          [](Profile* profile) {
+            chrome::SettingsWindowManager::GetInstance()->ShowOSSettings(
+                profile, chrome::kCrostiniExportImportSubPage);
+          },
+          profile_));
+      break;
+    case Status::FAILED_ARCHITECTURE_MISMATCH:
+      delegate_->SetCallback(base::BindRepeating(
+          [](Profile* profile) {
+            NavigateParams params(profile,
+                                  GURL(chrome::kLinuxExportImportHelpURL),
+                                  ui::PAGE_TRANSITION_LINK);
+            params.disposition = WindowOpenDisposition::NEW_FOREGROUND_TAB;
+            params.window_action = NavigateParams::SHOW_WINDOW;
+            Navigate(&params);
+          },
+          profile_));
+      break;
+    case Status::FAILED_INSUFFICIENT_SPACE:
+      delegate_->SetCallback(base::BindRepeating(
+          [](Profile* profile) {
+            chrome::SettingsWindowManager::GetInstance()->ShowOSSettings(
+                profile, chrome::kStorageSubPage);
+          },
+          profile_));
+      break;
+    default:
+      LOG(ERROR) << "Unexpected failure status "
+                 << static_cast<std::underlying_type_t<Status>>(status);
+      delegate_->SetCallback(
+          CrostiniExportImportClickCloseDelegate::ButtonClickCallback());
+  }
+
   notification_->set_type(message_center::NOTIFICATION_TYPE_SIMPLE);
   notification_->set_accent_color(ash::kSystemNotificationColorCriticalWarning);
   notification_->set_title(l10n_util::GetStringUTF16(
@@ -155,64 +236,4 @@
   ForceRedisplay();
 }
 
-void CrostiniExportImportNotificationController::Close(bool by_user) {
-  switch (status()) {
-    case Status::RUNNING:
-    case Status::CANCELLING:
-      hidden_ = true;
-      return;
-    case Status::DONE:
-    case Status::CANCELLED:
-    case Status::FAILED_UNKNOWN_REASON:
-    case Status::FAILED_ARCHITECTURE_MISMATCH:
-    case Status::FAILED_INSUFFICIENT_SPACE:
-    case Status::FAILED_CONCURRENT_OPERATION:
-      delete this;
-      return;
-    default:
-      NOTREACHED();
-  }
-}
-
-void CrostiniExportImportNotificationController::Click(
-    const base::Optional<int>& button_index,
-    const base::Optional<base::string16>&) {
-  switch (status()) {
-    case Status::RUNNING:
-      if (button_index) {
-        DCHECK(*button_index == 1);
-        CrostiniExportImport::GetForProfile(profile_)->CancelOperation(
-            type(), container_id_);
-      }
-      return;
-    case Status::DONE:
-      DCHECK(!button_index);
-      if (type() == ExportImportType::EXPORT) {
-        platform_util::ShowItemInFolder(profile_, path());
-      }
-      return;
-    case Status::FAILED_UNKNOWN_REASON:
-      DCHECK(!button_index);
-      chrome::SettingsWindowManager::GetInstance()->ShowOSSettings(
-          profile_, chrome::kCrostiniExportImportSubPage);
-      return;
-    case Status::FAILED_ARCHITECTURE_MISMATCH: {
-      DCHECK(!button_index);
-      NavigateParams params(profile_, GURL(chrome::kLinuxExportImportHelpURL),
-                            ui::PAGE_TRANSITION_LINK);
-      params.disposition = WindowOpenDisposition::NEW_FOREGROUND_TAB;
-      params.window_action = NavigateParams::SHOW_WINDOW;
-      Navigate(&params);
-    }
-      return;
-    case Status::FAILED_INSUFFICIENT_SPACE:
-      DCHECK(!button_index);
-      chrome::SettingsWindowManager::GetInstance()->ShowOSSettings(
-          profile_, chrome::kStorageSubPage);
-      return;
-    default:
-      DCHECK(!button_index);
-  }
-}
-
 }  // namespace crostini
diff --git a/chrome/browser/chromeos/crostini/crostini_export_import_notification_controller.h b/chrome/browser/chromeos/crostini/crostini_export_import_notification_controller.h
index 73fcea4..0560ae6e 100644
--- a/chrome/browser/chromeos/crostini/crostini_export_import_notification_controller.h
+++ b/chrome/browser/chromeos/crostini/crostini_export_import_notification_controller.h
@@ -22,26 +22,40 @@
 
 namespace crostini {
 
+class CrostiniExportImportClickCloseDelegate
+    : public message_center::HandleNotificationClickDelegate {
+ public:
+  using HandleNotificationClickDelegate::ButtonClickCallback;
+
+  CrostiniExportImportClickCloseDelegate();
+
+  void SetCloseCallback(base::RepeatingClosure close_closure) {
+    close_closure_ = std::move(close_closure);
+  }
+
+  // NotificationDelegate overrides:
+  void Close(bool by_user) override;
+
+ private:
+  ~CrostiniExportImportClickCloseDelegate() override;
+
+  base::RepeatingClosure close_closure_{};
+};
+
 enum class ExportImportType;
 
-// Controller for Crostini's Export Import Notification UI.
-// It can be used to change the look of the UI, and handles actions from the UI.
+// Controller for Crostini's Export Import notification UI.
+// Upon construction the Controller will create a new notification, displaying
+// the StatusRunning UI. If the controller is freed the notification will
+// continue to be shown and handle click events until the user closes it.
 class CrostiniExportImportNotificationController
-    : public CrostiniExportImportStatusTracker,
-      public message_center::NotificationObserver {
+    : public CrostiniExportImportStatusTracker {
  public:
-  // Used to construct CrostiniExportImportNotificationController to ensure it
-  // controls its lifetime.
-  static CrostiniExportImportStatusTracker* Create(
-      Profile* profile,
-      ContainerId container_id,
-      const std::string& notification_id,
-      ExportImportType type,
-      base::FilePath path) {
-    return new CrostiniExportImportNotificationController(
-        profile, type, notification_id, std::move(path),
-        std::move(container_id));
-  }
+  CrostiniExportImportNotificationController(Profile* profile,
+                                             ExportImportType type,
+                                             const std::string& notification_id,
+                                             base::FilePath path,
+                                             ContainerId container_id);
 
   ~CrostiniExportImportNotificationController() override;
 
@@ -52,19 +66,11 @@
   base::WeakPtr<CrostiniExportImportNotificationController> GetWeakPtr() {
     return weak_ptr_factory_.GetWeakPtr();
   }
-
-  // message_center::NotificationObserver:
-  void Close(bool by_user) override;
-  void Click(const base::Optional<int>& button_index,
-             const base::Optional<base::string16>& reply) override;
+  message_center::NotificationObserver* get_delegate() {
+    return delegate_.get();
+  }
 
  private:
-  CrostiniExportImportNotificationController(Profile* profile,
-                                             ExportImportType type,
-                                             const std::string& notification_id,
-                                             base::FilePath path,
-                                             ContainerId container_id);
-
   // CrostiniExportImportStatusTracker:
   void ForceRedisplay() override;
   void SetStatusRunningUI(int progress_percent) override;
@@ -74,15 +80,26 @@
   void SetStatusFailedWithMessageUI(Status status,
                                     const base::string16& message) override;
 
+  void on_notification_closed() { hidden_ = true; }
+
   Profile* profile_;  // Not owned.
   ContainerId container_id_;
+  // |delegate_| is responsible for handling click events. It is separate from
+  // the controller because it needs to live as long as the notification is in
+  // the UI, but the controller's lifetime ends once the notification is in a
+  // final state (done, canceled, or failed).
+  scoped_refptr<CrostiniExportImportClickCloseDelegate> delegate_;
 
   // Time when the operation started.  Used for estimating time remaining.
   base::TimeTicks started_ = base::TimeTicks::Now();
+  // |notification_| acts as a handle to the notification UI, it is used to
+  // update the UI's progress/message/buttons. Freeing |notification_| doesn't
+  // close the notification UI; the UI system is responsible for closing it.
   std::unique_ptr<message_center::Notification> notification_;
   bool hidden_ = false;
   base::WeakPtrFactory<CrostiniExportImportNotificationController>
       weak_ptr_factory_{this};
+
   DISALLOW_COPY_AND_ASSIGN(CrostiniExportImportNotificationController);
 };
 
diff --git a/chrome/browser/chromeos/crostini/crostini_export_import_unittest.cc b/chrome/browser/chromeos/crostini/crostini_export_import_unittest.cc
index 07fead76..38b066e 100644
--- a/chrome/browser/chromeos/crostini/crostini_export_import_unittest.cc
+++ b/chrome/browser/chromeos/crostini/crostini_export_import_unittest.cc
@@ -12,6 +12,8 @@
 #include "chrome/browser/chromeos/crostini/crostini_util.h"
 #include "chrome/browser/chromeos/file_manager/path_util.h"
 #include "chrome/browser/chromeos/guest_os/guest_os_share_path.h"
+#include "chrome/browser/notifications/notification_display_service_factory.h"
+#include "chrome/browser/notifications/notification_display_service_tester.h"
 #include "chrome/test/base/testing_profile.h"
 #include "chromeos/dbus/dbus_thread_manager.h"
 #include "chromeos/dbus/fake_cicerone_client.h"
@@ -47,6 +49,42 @@
         container_id_);
   }
 
+  const message_center::Notification& GetNotification() {
+    // Assertions in this function are wrap in IILEs because you cannot assert
+    // in a function with a non-void return type.
+    const base::WeakPtr<CrostiniExportImportNotificationController>&
+        controller = GetController();
+    [&] { ASSERT_NE(controller, nullptr); }();
+    const message_center::Notification* controller_notification =
+        controller->get_notification();
+    [&] { ASSERT_NE(controller_notification, nullptr); }();
+    const base::Optional<message_center::Notification>& ui_notification =
+        notification_display_service_->GetNotification(
+            controller_notification->id());
+    [&] { ASSERT_NE(ui_notification, base::nullopt); }();
+    // The controller notification is stored on the
+    // CrostiniExportImportNotificationController, but copied into the
+    // message_center's storage whenever it changes. If they could share the
+    // same instance of the notification then this function wouldn't be
+    // necessary.
+    [&] { ASSERT_NE(controller_notification, &*ui_notification); }();
+    [&] {
+      ASSERT_TRUE(
+          controller_notification->type() == ui_notification->type() &&
+          controller_notification->id() == ui_notification->id() &&
+          controller_notification->title() == ui_notification->title() &&
+          controller_notification->message() == ui_notification->message() &&
+          controller_notification->timestamp() ==
+              ui_notification->timestamp() &&
+          controller_notification->progress() == ui_notification->progress() &&
+          controller_notification->never_timeout() ==
+              ui_notification->never_timeout() &&
+          controller_notification->delegate() == ui_notification->delegate());
+    }();
+    // Either notification could be returned here, they are fungible.
+    return *controller_notification;
+  }
+
   void SendExportProgress(
       vm_tools::cicerone::ExportLxdContainerProgressSignal_Status status,
       const ExportProgressOptionalArguments& arguments = {}) {
@@ -96,6 +134,12 @@
     profile_ = std::make_unique<TestingProfile>();
     crostini_export_import_ = std::make_unique<CrostiniExportImport>(profile());
     test_helper_ = std::make_unique<CrostiniTestHelper>(profile_.get());
+    notification_display_service_tester_ =
+        std::make_unique<NotificationDisplayServiceTester>(profile());
+    notification_display_service_ =
+        static_cast<StubNotificationDisplayService*>(
+            NotificationDisplayServiceFactory::GetForProfile(profile()));
+    ASSERT_NE(notification_display_service_, nullptr);
     CrostiniManager::GetForProfile(profile())->AddRunningVmForTesting(
         kCrostiniDefaultVmName);
     CrostiniManager::GetForProfile(profile())->set_skip_restart_for_testing();
@@ -134,6 +178,9 @@
   std::unique_ptr<TestingProfile> profile_;
   std::unique_ptr<CrostiniExportImport> crostini_export_import_;
   std::unique_ptr<CrostiniTestHelper> test_helper_;
+  std::unique_ptr<NotificationDisplayServiceTester>
+      notification_display_service_tester_;
+  StubNotificationDisplayService* notification_display_service_;
 
   ContainerId container_id_;
   base::FilePath tarball_;
@@ -168,11 +215,12 @@
   ASSERT_NE(controller, nullptr);
   EXPECT_EQ(controller->status(),
             CrostiniExportImportStatusTracker::Status::RUNNING);
+  std::string notification_id;
   {
-    message_center::Notification* notification = controller->get_notification();
-    ASSERT_NE(notification, nullptr);
-    EXPECT_EQ(notification->progress(), 0);
-    EXPECT_TRUE(notification->pinned());
+    const message_center::Notification& notification = GetNotification();
+    notification_id = notification.id();
+    EXPECT_EQ(notification.progress(), 0);
+    EXPECT_TRUE(notification.pinned());
   }
 
   // 20% PACK = 10% overall.
@@ -183,10 +231,10 @@
   EXPECT_EQ(controller->status(),
             CrostiniExportImportStatusTracker::Status::RUNNING);
   {
-    message_center::Notification* notification = controller->get_notification();
-    ASSERT_NE(notification, nullptr);
-    EXPECT_EQ(notification->progress(), 10);
-    EXPECT_TRUE(notification->pinned());
+    const message_center::Notification& notification = GetNotification();
+    EXPECT_EQ(notification.id(), notification_id);
+    EXPECT_EQ(notification.progress(), 10);
+    EXPECT_TRUE(notification.pinned());
   }
 
   // 20% DOWNLOAD = 60% overall.
@@ -198,14 +246,14 @@
   EXPECT_EQ(controller->status(),
             CrostiniExportImportStatusTracker::Status::RUNNING);
   {
-    message_center::Notification* notification = controller->get_notification();
-    ASSERT_NE(notification, nullptr);
-    EXPECT_EQ(notification->progress(), 60);
-    EXPECT_TRUE(notification->pinned());
+    const message_center::Notification& notification = GetNotification();
+    EXPECT_EQ(notification.id(), notification_id);
+    EXPECT_EQ(notification.progress(), 60);
+    EXPECT_TRUE(notification.pinned());
   }
 
   // Close notification and update progress. Should not update notification.
-  controller->Close(false);
+  controller->get_delegate()->Close(false);
   SendExportProgress(
       vm_tools::cicerone::
           ExportLxdContainerProgressSignal_Status_EXPORTING_DOWNLOAD,
@@ -214,23 +262,24 @@
   EXPECT_EQ(controller->status(),
             CrostiniExportImportStatusTracker::Status::RUNNING);
   {
-    message_center::Notification* notification = controller->get_notification();
-    ASSERT_NE(notification, nullptr);
-    EXPECT_EQ(notification->progress(), 60);
-    EXPECT_TRUE(notification->pinned());
+    const message_center::Notification& notification = GetNotification();
+    EXPECT_EQ(notification.id(), notification_id);
+    EXPECT_EQ(notification.progress(), 60);
+    EXPECT_TRUE(notification.pinned());
   }
 
   // Done.
   SendExportProgress(
       vm_tools::cicerone::ExportLxdContainerProgressSignal_Status_DONE);
-  ASSERT_EQ(GetController(), nullptr);
-  ASSERT_NE(controller, nullptr);
-  EXPECT_EQ(controller->status(),
-            CrostiniExportImportStatusTracker::Status::DONE);
+  EXPECT_EQ(GetController(), nullptr);
+  EXPECT_EQ(controller, nullptr);
   {
-    message_center::Notification* notification = controller->get_notification();
-    ASSERT_NE(notification, nullptr);
-    EXPECT_FALSE(notification->pinned());
+    const base::Optional<message_center::Notification> ui_notification =
+        notification_display_service_->GetNotification(notification_id);
+    ASSERT_NE(ui_notification, base::nullopt);
+    EXPECT_FALSE(ui_notification->pinned());
+    std::string msg("Linux apps & files have been successfully backed up");
+    EXPECT_EQ(ui_notification->message(), base::UTF8ToUTF16(msg));
   }
 
   // CrostiniExportImport should've created the exported file.
@@ -248,11 +297,12 @@
   ASSERT_NE(controller, nullptr);
   EXPECT_EQ(controller->status(),
             CrostiniExportImportStatusTracker::Status::RUNNING);
+  std::string notification_id;
   {
-    message_center::Notification* notification = controller->get_notification();
-    ASSERT_NE(notification, nullptr);
-    EXPECT_EQ(notification->progress(), 0);
-    EXPECT_TRUE(notification->pinned());
+    const message_center::Notification& notification = GetNotification();
+    notification_id = notification.id();
+    EXPECT_EQ(notification.progress(), 0);
+    EXPECT_TRUE(notification.pinned());
   }
 
   // STREAMING 10% bytes done + 30% files done = 20% overall.
@@ -267,10 +317,10 @@
   EXPECT_EQ(controller->status(),
             CrostiniExportImportStatusTracker::Status::RUNNING);
   {
-    message_center::Notification* notification = controller->get_notification();
-    ASSERT_NE(notification, nullptr);
-    EXPECT_EQ(notification->progress(), 20);
-    EXPECT_TRUE(notification->pinned());
+    const message_center::Notification& notification = GetNotification();
+    EXPECT_EQ(notification.id(), notification_id);
+    EXPECT_EQ(notification.progress(), 20);
+    EXPECT_TRUE(notification.pinned());
   }
 
   // STREAMING 66% bytes done + 55% files done then floored = 60% overall.
@@ -285,14 +335,14 @@
   EXPECT_EQ(controller->status(),
             CrostiniExportImportStatusTracker::Status::RUNNING);
   {
-    message_center::Notification* notification = controller->get_notification();
-    ASSERT_NE(notification, nullptr);
-    EXPECT_EQ(notification->progress(), 60);
-    EXPECT_TRUE(notification->pinned());
+    const message_center::Notification& notification = GetNotification();
+    EXPECT_EQ(notification.id(), notification_id);
+    EXPECT_EQ(notification.progress(), 60);
+    EXPECT_TRUE(notification.pinned());
   }
 
   // Close notification and update progress. Should not update notification.
-  controller->Close(false);
+  controller->get_delegate()->Close(false);
   SendExportProgress(
       vm_tools::cicerone::
           ExportLxdContainerProgressSignal_Status_EXPORTING_STREAMING,
@@ -304,23 +354,24 @@
   EXPECT_EQ(controller->status(),
             CrostiniExportImportStatusTracker::Status::RUNNING);
   {
-    message_center::Notification* notification = controller->get_notification();
-    ASSERT_NE(notification, nullptr);
-    EXPECT_EQ(notification->progress(), 60);
-    EXPECT_TRUE(notification->pinned());
+    const message_center::Notification& notification = GetNotification();
+    EXPECT_EQ(notification.id(), notification_id);
+    EXPECT_EQ(notification.progress(), 60);
+    EXPECT_TRUE(notification.pinned());
   }
 
   // Done.
   SendExportProgress(
       vm_tools::cicerone::ExportLxdContainerProgressSignal_Status_DONE);
-  ASSERT_EQ(GetController(), nullptr);
-  ASSERT_NE(controller, nullptr);
-  EXPECT_EQ(controller->status(),
-            CrostiniExportImportStatusTracker::Status::DONE);
+  EXPECT_EQ(GetController(), nullptr);
+  EXPECT_EQ(controller, nullptr);
   {
-    message_center::Notification* notification = controller->get_notification();
-    ASSERT_NE(notification, nullptr);
-    EXPECT_FALSE(notification->pinned());
+    const base::Optional<message_center::Notification> ui_notification =
+        notification_display_service_->GetNotification(notification_id);
+    ASSERT_NE(ui_notification, base::nullopt);
+    EXPECT_FALSE(ui_notification->pinned());
+    std::string msg("Linux apps & files have been successfully backed up");
+    EXPECT_EQ(ui_notification->message(), base::UTF8ToUTF16(msg));
   }
 
   // CrostiniExportImport should've created the exported file.
@@ -338,24 +389,26 @@
   ASSERT_NE(controller, nullptr);
   EXPECT_EQ(controller->status(),
             CrostiniExportImportStatusTracker::Status::RUNNING);
+  std::string notification_id;
   {
-    message_center::Notification* notification = controller->get_notification();
-    ASSERT_NE(notification, nullptr);
-    EXPECT_EQ(notification->progress(), 0);
-    EXPECT_TRUE(notification->pinned());
+    const message_center::Notification& notification = GetNotification();
+    notification_id = notification.id();
+    EXPECT_EQ(notification.progress(), 0);
+    EXPECT_TRUE(notification.pinned());
   }
 
   // Failed.
   SendExportProgress(
       vm_tools::cicerone::ExportLxdContainerProgressSignal_Status_FAILED);
-  ASSERT_EQ(GetController(), nullptr);
-  ASSERT_NE(controller, nullptr);
-  EXPECT_EQ(controller->status(),
-            CrostiniExportImportStatusTracker::Status::FAILED_UNKNOWN_REASON);
+  EXPECT_EQ(GetController(), nullptr);
+  EXPECT_EQ(controller, nullptr);
   {
-    message_center::Notification* notification = controller->get_notification();
-    ASSERT_NE(notification, nullptr);
-    EXPECT_FALSE(notification->pinned());
+    const base::Optional<message_center::Notification> ui_notification =
+        notification_display_service_->GetNotification(notification_id);
+    ASSERT_NE(ui_notification, base::nullopt);
+    EXPECT_FALSE(ui_notification->pinned());
+    std::string msg("Backup couldn't be completed due to an error");
+    EXPECT_EQ(ui_notification->message(), base::UTF8ToUTF16(msg));
   }
 
   // CrostiniExportImport should cleanup the file if an export fails.
@@ -373,11 +426,12 @@
   ASSERT_NE(controller, nullptr);
   EXPECT_EQ(controller->status(),
             CrostiniExportImportStatusTracker::Status::RUNNING);
+  std::string notification_id;
   {
-    message_center::Notification* notification = controller->get_notification();
-    ASSERT_NE(notification, nullptr);
-    EXPECT_EQ(notification->progress(), 0);
-    EXPECT_TRUE(notification->pinned());
+    const message_center::Notification& notification = GetNotification();
+    notification_id = notification.id();
+    EXPECT_EQ(notification.progress(), 0);
+    EXPECT_TRUE(notification.pinned());
   }
 
   // CANCELLING:
@@ -387,10 +441,10 @@
   EXPECT_EQ(controller->status(),
             CrostiniExportImportStatusTracker::Status::CANCELLING);
   {
-    message_center::Notification* notification = controller->get_notification();
-    ASSERT_NE(notification, nullptr);
-    EXPECT_EQ(notification->progress(), -1);
-    EXPECT_FALSE(notification->pinned());
+    const message_center::Notification& notification = GetNotification();
+    EXPECT_EQ(notification.id(), notification_id);
+    EXPECT_EQ(notification.progress(), -1);
+    EXPECT_FALSE(notification.pinned());
   }
   EXPECT_TRUE(base::PathExists(tarball_));
 
@@ -406,24 +460,22 @@
   EXPECT_EQ(controller->status(),
             CrostiniExportImportStatusTracker::Status::CANCELLING);
   {
-    message_center::Notification* notification = controller->get_notification();
-    ASSERT_NE(notification, nullptr);
-    EXPECT_EQ(notification->progress(), -1);
-    EXPECT_FALSE(notification->pinned());
+    const message_center::Notification& notification = GetNotification();
+    EXPECT_EQ(notification.id(), notification_id);
+    EXPECT_EQ(notification.progress(), -1);
+    EXPECT_FALSE(notification.pinned());
   }
   EXPECT_TRUE(base::PathExists(tarball_));
 
   // CANCELLED:
   SendExportProgress(
       vm_tools::cicerone::ExportLxdContainerProgressSignal_Status_CANCELLED);
-  ASSERT_EQ(GetController(), nullptr);
-  ASSERT_NE(controller, nullptr);
-  EXPECT_EQ(controller->status(),
-            CrostiniExportImportStatusTracker::Status::CANCELLED);
+  EXPECT_EQ(GetController(), nullptr);
+  EXPECT_EQ(controller, nullptr);
   {
-    message_center::Notification* notification = controller->get_notification();
-    ASSERT_NE(notification, nullptr);
-    EXPECT_FALSE(notification->pinned());
+    const base::Optional<message_center::Notification> ui_notification =
+        notification_display_service_->GetNotification(notification_id);
+    EXPECT_EQ(ui_notification, base::nullopt);
   }
 
   task_environment_.RunUntilIdle();
@@ -440,11 +492,12 @@
   ASSERT_NE(controller, nullptr);
   EXPECT_EQ(controller->status(),
             CrostiniExportImportStatusTracker::Status::RUNNING);
+  std::string notification_id;
   {
-    message_center::Notification* notification = controller->get_notification();
-    ASSERT_NE(notification, nullptr);
-    EXPECT_EQ(notification->progress(), 0);
-    EXPECT_TRUE(notification->pinned());
+    const message_center::Notification& notification = GetNotification();
+    notification_id = notification.id();
+    EXPECT_EQ(notification.progress(), 0);
+    EXPECT_TRUE(notification.pinned());
   }
 
   // CANCELLING:
@@ -454,24 +507,22 @@
   EXPECT_EQ(controller->status(),
             CrostiniExportImportStatusTracker::Status::CANCELLING);
   {
-    message_center::Notification* notification = controller->get_notification();
-    ASSERT_NE(notification, nullptr);
-    EXPECT_EQ(notification->progress(), -1);
-    EXPECT_FALSE(notification->pinned());
+    const message_center::Notification& notification = GetNotification();
+    EXPECT_EQ(notification.id(), notification_id);
+    EXPECT_EQ(notification.progress(), -1);
+    EXPECT_FALSE(notification.pinned());
   }
   EXPECT_TRUE(base::PathExists(tarball_));
 
   // DONE: Completed before cancel processed, file should be deleted.
   SendExportProgress(
       vm_tools::cicerone::ExportLxdContainerProgressSignal_Status_DONE);
-  ASSERT_EQ(GetController(), nullptr);
-  ASSERT_NE(controller, nullptr);
-  EXPECT_EQ(controller->status(),
-            CrostiniExportImportStatusTracker::Status::CANCELLED);
+  EXPECT_EQ(GetController(), nullptr);
+  EXPECT_EQ(controller, nullptr);
   {
-    message_center::Notification* notification = controller->get_notification();
-    ASSERT_NE(notification, nullptr);
-    EXPECT_FALSE(notification->pinned());
+    const base::Optional<message_center::Notification> ui_notification =
+        notification_display_service_->GetNotification(notification_id);
+    EXPECT_EQ(ui_notification, base::nullopt);
   }
 
   task_environment_.RunUntilIdle();
@@ -488,11 +539,12 @@
   ASSERT_NE(controller, nullptr);
   EXPECT_EQ(controller->status(),
             CrostiniExportImportStatusTracker::Status::RUNNING);
+  std::string notification_id;
   {
-    message_center::Notification* notification = controller->get_notification();
-    ASSERT_NE(notification, nullptr);
-    EXPECT_EQ(notification->progress(), 0);
-    EXPECT_TRUE(notification->pinned());
+    const message_center::Notification& notification = GetNotification();
+    notification_id = notification.id();
+    EXPECT_EQ(notification.progress(), 0);
+    EXPECT_TRUE(notification.pinned());
   }
 
   // 20% UPLOAD = 10% overall.
@@ -504,10 +556,10 @@
   EXPECT_EQ(controller->status(),
             CrostiniExportImportStatusTracker::Status::RUNNING);
   {
-    message_center::Notification* notification = controller->get_notification();
-    ASSERT_NE(notification, nullptr);
-    EXPECT_EQ(notification->progress(), 10);
-    EXPECT_TRUE(notification->pinned());
+    const message_center::Notification& notification = GetNotification();
+    EXPECT_EQ(notification.id(), notification_id);
+    EXPECT_EQ(notification.progress(), 10);
+    EXPECT_TRUE(notification.pinned());
   }
 
   // 20% UNPACK = 60% overall.
@@ -519,14 +571,14 @@
   EXPECT_EQ(controller->status(),
             CrostiniExportImportStatusTracker::Status::RUNNING);
   {
-    message_center::Notification* notification = controller->get_notification();
-    ASSERT_NE(notification, nullptr);
-    EXPECT_EQ(notification->progress(), 60);
-    EXPECT_TRUE(notification->pinned());
+    const message_center::Notification& notification = GetNotification();
+    EXPECT_EQ(notification.id(), notification_id);
+    EXPECT_EQ(notification.progress(), 60);
+    EXPECT_TRUE(notification.pinned());
   }
 
   // Close notification and update progress. Should not update notification.
-  controller->Close(false);
+  controller->get_delegate()->Close(false);
   SendImportProgress(
       vm_tools::cicerone::
           ImportLxdContainerProgressSignal_Status_IMPORTING_UNPACK,
@@ -535,23 +587,24 @@
   EXPECT_EQ(controller->status(),
             CrostiniExportImportStatusTracker::Status::RUNNING);
   {
-    message_center::Notification* notification = controller->get_notification();
-    ASSERT_NE(notification, nullptr);
-    EXPECT_EQ(notification->progress(), 60);
-    EXPECT_TRUE(notification->pinned());
+    const message_center::Notification& notification = GetNotification();
+    EXPECT_EQ(notification.id(), notification_id);
+    EXPECT_EQ(notification.progress(), 60);
+    EXPECT_TRUE(notification.pinned());
   }
 
   // Done.
   SendImportProgress(
       vm_tools::cicerone::ImportLxdContainerProgressSignal_Status_DONE);
-  ASSERT_EQ(GetController(), nullptr);
-  ASSERT_NE(controller, nullptr);
-  EXPECT_EQ(controller->status(),
-            CrostiniExportImportStatusTracker::Status::DONE);
+  EXPECT_EQ(GetController(), nullptr);
+  EXPECT_EQ(controller, nullptr);
   {
-    message_center::Notification* notification = controller->get_notification();
-    ASSERT_NE(notification, nullptr);
-    EXPECT_FALSE(notification->pinned());
+    const base::Optional<message_center::Notification> ui_notification =
+        notification_display_service_->GetNotification(notification_id);
+    ASSERT_NE(ui_notification, base::nullopt);
+    EXPECT_FALSE(ui_notification->pinned());
+    std::string msg("Linux apps & files have been successfully replaced");
+    EXPECT_EQ(ui_notification->message(), base::UTF8ToUTF16(msg));
   }
 }
 
@@ -565,26 +618,26 @@
   ASSERT_NE(controller, nullptr);
   EXPECT_EQ(controller->status(),
             CrostiniExportImportStatusTracker::Status::RUNNING);
+  std::string notification_id;
   {
-    message_center::Notification* notification = controller->get_notification();
-    ASSERT_NE(notification, nullptr);
-    EXPECT_EQ(notification->progress(), 0);
-    EXPECT_TRUE(notification->pinned());
+    const message_center::Notification& notification = GetNotification();
+    notification_id = notification.id();
+    EXPECT_EQ(notification.progress(), 0);
+    EXPECT_TRUE(notification.pinned());
   }
 
   // Failed.
   SendImportProgress(
       vm_tools::cicerone::ImportLxdContainerProgressSignal_Status_FAILED);
-  ASSERT_EQ(GetController(), nullptr);
-  ASSERT_NE(controller, nullptr);
-  EXPECT_EQ(controller->status(),
-            CrostiniExportImportStatusTracker::Status::FAILED_UNKNOWN_REASON);
+  EXPECT_EQ(GetController(), nullptr);
+  EXPECT_EQ(controller, nullptr);
   {
-    message_center::Notification* notification = controller->get_notification();
-    ASSERT_NE(notification, nullptr);
-    EXPECT_FALSE(notification->pinned());
+    const base::Optional<message_center::Notification> ui_notification =
+        notification_display_service_->GetNotification(notification_id);
+    ASSERT_NE(ui_notification, base::nullopt);
+    EXPECT_FALSE(ui_notification->pinned());
     std::string msg("Restoring couldn't be completed due to an error");
-    EXPECT_EQ(notification->message(), base::UTF8ToUTF16(msg));
+    EXPECT_EQ(ui_notification->message(), base::UTF8ToUTF16(msg));
   }
 }
 
@@ -598,11 +651,12 @@
   ASSERT_NE(controller, nullptr);
   EXPECT_EQ(controller->status(),
             CrostiniExportImportStatusTracker::Status::RUNNING);
+  std::string notification_id;
   {
-    message_center::Notification* notification = controller->get_notification();
-    ASSERT_NE(notification, nullptr);
-    EXPECT_EQ(notification->progress(), 0);
-    EXPECT_TRUE(notification->pinned());
+    const message_center::Notification& notification = GetNotification();
+    notification_id = notification.id();
+    EXPECT_EQ(notification.progress(), 0);
+    EXPECT_TRUE(notification.pinned());
   }
 
   // CANCELLING:
@@ -612,10 +666,10 @@
   EXPECT_EQ(controller->status(),
             CrostiniExportImportStatusTracker::Status::CANCELLING);
   {
-    message_center::Notification* notification = controller->get_notification();
-    ASSERT_NE(notification, nullptr);
-    EXPECT_EQ(notification->progress(), -1);
-    EXPECT_FALSE(notification->pinned());
+    const message_center::Notification& notification = GetNotification();
+    EXPECT_EQ(notification.id(), notification_id);
+    EXPECT_EQ(notification.progress(), -1);
+    EXPECT_FALSE(notification.pinned());
   }
 
   // STREAMING: should not be displayed as cancel is in progress
@@ -627,23 +681,21 @@
   EXPECT_EQ(controller->status(),
             CrostiniExportImportStatusTracker::Status::CANCELLING);
   {
-    message_center::Notification* notification = controller->get_notification();
-    ASSERT_NE(notification, nullptr);
-    EXPECT_EQ(notification->progress(), -1);
-    EXPECT_FALSE(notification->pinned());
+    const message_center::Notification& notification = GetNotification();
+    EXPECT_EQ(notification.id(), notification_id);
+    EXPECT_EQ(notification.progress(), -1);
+    EXPECT_FALSE(notification.pinned());
   }
 
   // CANCELLED:
   SendImportProgress(
       vm_tools::cicerone::ImportLxdContainerProgressSignal_Status_CANCELLED);
-  ASSERT_EQ(GetController(), nullptr);
-  ASSERT_NE(controller, nullptr);
-  EXPECT_EQ(controller->status(),
-            CrostiniExportImportStatusTracker::Status::CANCELLED);
+  EXPECT_EQ(GetController(), nullptr);
+  EXPECT_EQ(controller, nullptr);
   {
-    message_center::Notification* notification = controller->get_notification();
-    ASSERT_NE(notification, nullptr);
-    EXPECT_FALSE(notification->pinned());
+    const base::Optional<message_center::Notification> ui_notification =
+        notification_display_service_->GetNotification(notification_id);
+    EXPECT_EQ(ui_notification, base::nullopt);
   }
 }
 
@@ -657,11 +709,12 @@
   ASSERT_NE(controller, nullptr);
   EXPECT_EQ(controller->status(),
             CrostiniExportImportStatusTracker::Status::RUNNING);
+  std::string notification_id;
   {
-    message_center::Notification* notification = controller->get_notification();
-    ASSERT_NE(notification, nullptr);
-    EXPECT_EQ(notification->progress(), 0);
-    EXPECT_TRUE(notification->pinned());
+    const message_center::Notification& notification = GetNotification();
+    notification_id = notification.id();
+    EXPECT_EQ(notification.progress(), 0);
+    EXPECT_TRUE(notification.pinned());
   }
 
   // CANCELLING:
@@ -671,23 +724,24 @@
   EXPECT_EQ(controller->status(),
             CrostiniExportImportStatusTracker::Status::CANCELLING);
   {
-    message_center::Notification* notification = controller->get_notification();
-    ASSERT_NE(notification, nullptr);
-    EXPECT_EQ(notification->progress(), -1);
-    EXPECT_FALSE(notification->pinned());
+    const message_center::Notification& notification = GetNotification();
+    EXPECT_EQ(notification.id(), notification_id);
+    EXPECT_EQ(notification.progress(), -1);
+    EXPECT_FALSE(notification.pinned());
   }
 
   // DONE: Cancel couldn't be processed in time, done is displayed instead.
   SendImportProgress(
       vm_tools::cicerone::ImportLxdContainerProgressSignal_Status_DONE);
-  ASSERT_EQ(GetController(), nullptr);
-  ASSERT_NE(controller, nullptr);
-  EXPECT_EQ(controller->status(),
-            CrostiniExportImportStatusTracker::Status::DONE);
+  EXPECT_EQ(GetController(), nullptr);
+  EXPECT_EQ(controller, nullptr);
   {
-    message_center::Notification* notification = controller->get_notification();
-    ASSERT_NE(notification, nullptr);
-    EXPECT_FALSE(notification->pinned());
+    const base::Optional<message_center::Notification> ui_notification =
+        notification_display_service_->GetNotification(notification_id);
+    ASSERT_NE(ui_notification, base::nullopt);
+    EXPECT_FALSE(ui_notification->pinned());
+    std::string msg("Linux apps & files have been successfully replaced");
+    EXPECT_EQ(ui_notification->message(), base::UTF8ToUTF16(msg));
   }
 }
 
@@ -701,32 +755,31 @@
   ASSERT_NE(controller, nullptr);
   EXPECT_EQ(controller->status(),
             CrostiniExportImportStatusTracker::Status::RUNNING);
+  std::string notification_id;
   {
-    message_center::Notification* notification = controller->get_notification();
-    ASSERT_NE(notification, nullptr);
-    EXPECT_EQ(notification->progress(), 0);
-    EXPECT_TRUE(notification->pinned());
+    const message_center::Notification& notification = GetNotification();
+    notification_id = notification.id();
+    EXPECT_EQ(notification.progress(), 0);
+    EXPECT_TRUE(notification.pinned());
   }
 
   // Failed Architecture.
   SendImportProgress(
       vm_tools::cicerone::
           ImportLxdContainerProgressSignal_Status_FAILED_ARCHITECTURE);
-  ASSERT_EQ(GetController(), nullptr);
-  ASSERT_NE(controller, nullptr);
-  EXPECT_EQ(
-      controller->status(),
-      CrostiniExportImportStatusTracker::Status::FAILED_ARCHITECTURE_MISMATCH);
+  EXPECT_EQ(GetController(), nullptr);
+  EXPECT_EQ(controller, nullptr);
   {
-    message_center::Notification* notification = controller->get_notification();
-    ASSERT_NE(notification, nullptr);
-    EXPECT_FALSE(notification->pinned());
+    const base::Optional<message_center::Notification> ui_notification =
+        notification_display_service_->GetNotification(notification_id);
+    ASSERT_NE(ui_notification, base::nullopt);
+    EXPECT_FALSE(ui_notification->pinned());
     std::string msg(
         "Cannot import container architecture type arch_con with this device "
         "which is arch_dev. You can try restoring this container into a "
         "different device, or you can access the files inside this container "
         "image by opening in Files app.");
-    EXPECT_EQ(notification->message(), base::UTF8ToUTF16(msg));
+    EXPECT_EQ(ui_notification->message(), base::UTF8ToUTF16(msg));
   }
 }
 
@@ -740,11 +793,12 @@
   ASSERT_NE(controller, nullptr);
   EXPECT_EQ(controller->status(),
             CrostiniExportImportStatusTracker::Status::RUNNING);
+  std::string notification_id;
   {
-    message_center::Notification* notification = controller->get_notification();
-    ASSERT_NE(notification, nullptr);
-    EXPECT_EQ(notification->progress(), 0);
-    EXPECT_TRUE(notification->pinned());
+    const message_center::Notification& notification = GetNotification();
+    notification_id = notification.id();
+    EXPECT_EQ(notification.progress(), 0);
+    EXPECT_TRUE(notification.pinned());
   }
 
   // Failed Space.
@@ -754,19 +808,17 @@
           .available_space = 20ul * 1'024 * 1'024 * 1'024,    // 20Gb
           .min_required_space = 35ul * 1'024 * 1'024 * 1'024  // 35Gb
       });
-  ASSERT_EQ(GetController(), nullptr);
-  ASSERT_NE(controller, nullptr);
-  EXPECT_EQ(
-      controller->status(),
-      CrostiniExportImportStatusTracker::Status::FAILED_INSUFFICIENT_SPACE);
+  EXPECT_EQ(GetController(), nullptr);
+  EXPECT_EQ(controller, nullptr);
   {
-    message_center::Notification* notification = controller->get_notification();
-    ASSERT_NE(notification, nullptr);
-    EXPECT_FALSE(notification->pinned());
+    const base::Optional<message_center::Notification> ui_notification =
+        notification_display_service_->GetNotification(notification_id);
+    ASSERT_NE(ui_notification, base::nullopt);
+    EXPECT_FALSE(ui_notification->pinned());
     std::string msg =
         "Cannot restore due to lack of storage space. Free up 15.0 GB from the "
         "device and try again.";
-    EXPECT_EQ(notification->message(), base::UTF8ToUTF16(msg));
+    EXPECT_EQ(ui_notification->message(), base::UTF8ToUTF16(msg));
   }
 }
 
diff --git a/chrome/browser/chromeos/extensions/file_manager/private_api_drive.cc b/chrome/browser/chromeos/extensions/file_manager/private_api_drive.cc
index 13a0f88..62fc508 100644
--- a/chrome/browser/chromeos/extensions/file_manager/private_api_drive.cc
+++ b/chrome/browser/chromeos/extensions/file_manager/private_api_drive.cc
@@ -1050,7 +1050,7 @@
           ->GetURLLoaderFactoryForBrowserProcess();
   auth_service_ = std::make_unique<google_apis::AuthService>(
       identity_manager, account_id, url_loader_factory, scopes);
-  auth_service_->StartAuthentication(base::Bind(
+  auth_service_->StartAuthentication(base::BindOnce(
       &FileManagerPrivateInternalGetDownloadUrlFunction::OnTokenFetched, this));
 }
 
diff --git a/chrome/browser/chromeos/extensions/file_manager/private_api_misc.cc b/chrome/browser/chromeos/extensions/file_manager/private_api_misc.cc
index ef3f8e5..9d45707 100644
--- a/chrome/browser/chromeos/extensions/file_manager/private_api_misc.cc
+++ b/chrome/browser/chromeos/extensions/file_manager/private_api_misc.cc
@@ -381,10 +381,10 @@
       g_browser_process->system_network_context_manager()
           ->GetSharedURLLoaderFactory(),
       scopes);
-  auth_service_->StartAuthentication(base::Bind(
-      &FileManagerPrivateRequestWebStoreAccessTokenFunction::
-          OnAccessTokenFetched,
-      this));
+  auth_service_->StartAuthentication(
+      base::BindOnce(&FileManagerPrivateRequestWebStoreAccessTokenFunction::
+                         OnAccessTokenFetched,
+                     this));
 
   return RespondLater();
 }
diff --git a/chrome/browser/chromeos/file_manager/file_manager_browsertest.cc b/chrome/browser/chromeos/file_manager/file_manager_browsertest.cc
index 86151199..bcf6d871 100644
--- a/chrome/browser/chromeos/file_manager/file_manager_browsertest.cc
+++ b/chrome/browser/chromeos/file_manager/file_manager_browsertest.cc
@@ -465,9 +465,9 @@
         TestCase("openQuickViewRemovablePartitions"),
         TestCase("openQuickViewMtp"),
         TestCase("openQuickViewTabIndexImage"),
+        TestCase("openQuickViewTabIndexText"),
         TestCase("pressEnterOnInfoBoxToOpenClose"),
         TestCase("closeQuickView"),
-        TestCase("cantOpenQuickViewWithMultipleFiles"),
         TestCase("openQuickViewFromDirectoryTree")));
 
 WRAPPED_INSTANTIATE_TEST_SUITE_P(
diff --git a/chrome/browser/chromeos/policy/device_policy_decoder_chromeos.cc b/chrome/browser/chromeos/policy/device_policy_decoder_chromeos.cc
index eccdc8c8..fe3915a 100644
--- a/chrome/browser/chromeos/policy/device_policy_decoder_chromeos.cc
+++ b/chrome/browser/chromeos/policy/device_policy_decoder_chromeos.cc
@@ -993,6 +993,19 @@
       }
     }
 
+    if (container.has_login_screen_shortcuts_enabled()) {
+      PolicyLevel level;
+      if (GetPolicyLevel(container.has_login_screen_shortcuts_enabled_options(),
+                         container.login_screen_shortcuts_enabled_options(),
+                         &level)) {
+        policies->Set(key::kDeviceLoginScreenAccessibilityShortcutsEnabled,
+                      level, POLICY_SCOPE_MACHINE, POLICY_SOURCE_CLOUD,
+                      std::make_unique<base::Value>(
+                          container.login_screen_shortcuts_enabled()),
+                      nullptr);
+      }
+    }
+
     if (container.has_login_screen_default_screen_magnifier_type()) {
       std::unique_ptr<base::Value> value(DecodeIntegerValue(
           container.login_screen_default_screen_magnifier_type()));
diff --git a/chrome/browser/chromeos/policy/login_profile_policy_provider.cc b/chrome/browser/chromeos/policy/login_profile_policy_provider.cc
index 202b0250..0537e8e8 100644
--- a/chrome/browser/chromeos/policy/login_profile_policy_provider.cc
+++ b/chrome/browser/chromeos/policy/login_profile_policy_provider.cc
@@ -59,6 +59,8 @@
      key::kShowAccessibilityOptionsInSystemTrayMenu},
     {key::kDeviceLoginScreenPrimaryMouseButtonSwitch,
      key::kPrimaryMouseButtonSwitch},
+    {key::kDeviceLoginScreenAccessibilityShortcutsEnabled,
+     key::kAccessibilityShortcutsEnabled},
 };
 
 const DevicePolicyToUserPolicyMapEntry kRecommendedDevicePoliciesMap[] = {
diff --git a/chrome/browser/chromeos/policy/login_screen_accessibility_policy_browsertest.cc b/chrome/browser/chromeos/policy/login_screen_accessibility_policy_browsertest.cc
index 66eeeb4..746b35e 100644
--- a/chrome/browser/chromeos/policy/login_screen_accessibility_policy_browsertest.cc
+++ b/chrome/browser/chromeos/policy/login_screen_accessibility_policy_browsertest.cc
@@ -1092,4 +1092,32 @@
   EXPECT_FALSE(
       prefs->GetBoolean(ash::prefs::kShouldAlwaysShowAccessibilityMenu));
 }
+
+IN_PROC_BROWSER_TEST_F(LoginScreenAccessibilityPolicyBrowsertest,
+                       DeviceLoginScreenAccessibilityShortcutsEnabled) {
+  // Verifies that the state of accessibility shortcuts on the login screen, can
+  // be controlled using a device policy.
+  PrefService* prefs = login_profile_->GetPrefs();
+  ASSERT_TRUE(prefs);
+  EXPECT_TRUE(prefs->GetBoolean(ash::prefs::kAccessibilityShortcutsEnabled));
+
+  // Disable the accessibility shortcuts on login screen through device policy
+  // and wait for the change to take effect.
+  em::ChromeDeviceSettingsProto& proto(device_policy()->payload());
+  proto.mutable_accessibility_settings()->set_login_screen_shortcuts_enabled(
+      false);
+  RefreshDevicePolicyAndWaitForPrefChange(
+      ash::prefs::kAccessibilityShortcutsEnabled);
+
+  // Verify that the pref which controls whether the accessibiilty shortcuts
+  // been enabled or not on the login profile is managed by the policy.
+  EXPECT_TRUE(IsPrefManaged(ash::prefs::kAccessibilityShortcutsEnabled));
+  EXPECT_EQ(base::Value(false),
+            GetPrefValue(ash::prefs::kAccessibilityShortcutsEnabled));
+
+  // Verify that its not possible to enable the accessibiilty shortcuts pref
+  // manually.
+  prefs->SetBoolean(ash::prefs::kAccessibilityShortcutsEnabled, true);
+  EXPECT_FALSE(prefs->GetBoolean(ash::prefs::kAccessibilityShortcutsEnabled));
+}
 }  // namespace policy
diff --git a/chrome/browser/chromeos/power/smart_charging/smart_charging_manager.cc b/chrome/browser/chromeos/power/smart_charging/smart_charging_manager.cc
index b92b38f..575ee4d 100644
--- a/chrome/browser/chromeos/power/smart_charging/smart_charging_manager.cc
+++ b/chrome/browser/chromeos/power/smart_charging/smart_charging_manager.cc
@@ -4,9 +4,24 @@
 
 #include "chrome/browser/chromeos/power/smart_charging/smart_charging_manager.h"
 
+#include <memory>
+
+#include "base/bind.h"
+#include "base/files/file_path.h"
+#include "base/files/file_util.h"
+#include "base/files/important_file_writer.h"
+#include "base/location.h"
+#include "base/task/post_task.h"
+#include "base/task/task_traits.h"
+#include "base/task_runner_util.h"
+#include "base/threading/scoped_blocking_call.h"
 #include "chrome/browser/chromeos/power/ml/recent_events_counter.h"
+#include "chrome/browser/profiles/profile.h"
+#include "chrome/browser/profiles/profile_manager.h"
 #include "chromeos/constants/devicetype.h"
 #include "chromeos/dbus/power_manager/backlight.pb.h"
+#include "components/session_manager/core/session_manager.h"
+#include "components/session_manager/core/session_manager_observer.h"
 #include "components/viz/host/host_frame_sink_manager.h"
 #include "services/metrics/public/cpp/metrics_utils.h"
 #include "ui/aura/env.h"
@@ -16,6 +31,8 @@
 namespace power {
 
 namespace {
+constexpr int kBucketSize = 15;
+
 // Interval at which data should be logged.
 constexpr base::TimeDelta kLoggingInterval = base::TimeDelta::FromMinutes(30);
 
@@ -27,11 +44,89 @@
 // Granularity of input events is per minute.
 constexpr int kNumUserInputEventsBuckets =
     kUserActivityDuration / base::TimeDelta::FromMinutes(1);
+
+constexpr char kSavedFileName[] = "past_charging_events.pb";
+constexpr char kSavedDir[] = "smartcharging";
+
+// Given a proto and file path, writes to disk and logs the error(if any).
+void WriteProtoToDisk(const PastChargingEvents& proto,
+                      const base::FilePath& file_path) {
+  std::string proto_string;
+  if (!proto.SerializeToString(&proto_string)) {
+    // TODO(crbug.com/1028853): adds a UMA log here.
+    return;
+  }
+  bool write_result;
+  {
+    base::ScopedBlockingCall scoped_blocking_call(
+        FROM_HERE, base::BlockingType::MAY_BLOCK);
+    write_result = base::ImportantFileWriter::WriteFileAtomically(
+        file_path, proto_string.data(), "SmartCharging");
+  }
+
+  if (!write_result) {
+    // TODO(crbug.com/1028853): adds a UMA log here.
+    return;
+  }
+  // TODO(crbug.com/1028853): adds a UMA log here.
+}
+
+// Reads a proto from a file path.
+std::unique_ptr<PastChargingEvents> ReadProto(const base::FilePath& file_path) {
+  base::ScopedBlockingCall scoped_blocking_call(FROM_HERE,
+                                                base::BlockingType::MAY_BLOCK);
+  std::string proto_str;
+  if (!base::ReadFileToString(file_path, &proto_str)) {
+    // TODO(crbug.com/1028853): adds a UMA log here.
+    return nullptr;
+  }
+
+  auto proto = std::make_unique<PastChargingEvents>();
+  if (!proto->ParseFromString(proto_str)) {
+    // TODO(crbug.com/1028853): adds a UMA log here.
+    return nullptr;
+  }
+  // TODO(crbug.com/1028853): adds a UMA log here.
+  return proto;
+}
+
+// If |create_new_path| is true, try to create new path and return true if
+// success.
+// If |create_new_path| is false, try to get the path and return true if
+// sucesss.
+bool GetPathSuccess(base::FilePath* file_path, bool create_new_path) {
+  if (!ProfileManager::GetPrimaryUserProfile()) {
+    // TODO(crbug.com/1028853): adds a UMA log here.
+    return false;
+  }
+
+  const base::FilePath path =
+      ProfileManager::GetPrimaryUserProfile()->GetPath().AppendASCII(kSavedDir);
+  if (create_new_path) {
+    if (!base::DirectoryExists(path) && !base::CreateDirectory(path)) {
+      // TODO(crbug.com/1028853): adds a UMA log here.
+      return false;
+    }
+  } else if (!base::PathExists(path.AppendASCII(kSavedFileName))) {
+    // TODO(crbug.com/1028853): adds a UMA log here.
+    return false;
+  }
+  // TODO(crbug.com/1028853): adds a UMA log here.
+  *file_path = path.AppendASCII(kSavedFileName);
+  return true;
+}
+
+// Checks if an event is a halt (shutdown/suspend) event.
+bool IsHaltEvent(const PastEvent& event) {
+  return event.reason() == UserChargingEvent::Event::SHUTDOWN ||
+         event.reason() == UserChargingEvent::Event::SUSPEND;
+}
 }  // namespace
 
 SmartChargingManager::SmartChargingManager(
     ui::UserActivityDetector* detector,
     mojo::PendingReceiver<viz::mojom::VideoDetectorObserver> receiver,
+    session_manager::SessionManager* session_manager,
     std::unique_ptr<base::RepeatingTimer> periodic_timer)
     : periodic_timer_(std::move(periodic_timer)),
       receiver_(this, std::move(receiver)),
@@ -50,8 +145,13 @@
       ukm_logger_(std::make_unique<SmartChargingUkmLogger>()) {
   DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
   DCHECK(detector);
+  DCHECK(session_manager);
   user_activity_observer_.Add(detector);
   power_manager_client_observer_.Add(chromeos::PowerManagerClient::Get());
+  session_manager_observer_.Add(session_manager);
+  blocking_task_runner_ = base::CreateSequencedTaskRunner(
+      {base::ThreadPool(), base::TaskPriority::BEST_EFFORT, base::MayBlock(),
+       base::TaskShutdownBehavior::SKIP_ON_SHUTDOWN});
 }
 
 SmartChargingManager::~SmartChargingManager() = default;
@@ -70,6 +170,7 @@
   std::unique_ptr<SmartChargingManager> screen_brightness_manager =
       std::make_unique<SmartChargingManager>(
           detector, video_observer.InitWithNewPipeAndPassReceiver(),
+          session_manager::SessionManager::Get(),
           std::make_unique<base::RepeatingTimer>());
 
   aura::Env::GetInstance()
@@ -201,6 +302,17 @@
   is_video_playing_ = false;
 }
 
+void SmartChargingManager::OnUserSessionStarted(bool /* is_primary_user */) {
+  DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
+  // The first sign-in user is the primary user, hence if |OnUserSessionStarted|
+  // is called, the primary user profile should have been created. We will
+  // ignore |is_primary_user|.
+  if (loaded_from_disk_)
+    return;
+
+  MaybeLoadFromDisk();
+}
+
 void SmartChargingManager::PopulateUserChargingEventProto(
     UserChargingEvent* proto) {
   auto& features = *proto->mutable_features();
@@ -229,8 +341,9 @@
   base::Time::Exploded now_exploded;
   now.LocalExplode(&now_exploded);
 
-  features.set_time_of_the_day(ukm::GetExponentialBucketMinForCounts1000(
-      now_exploded.hour * 60 + now_exploded.minute));
+  features.set_time_of_the_day(ukm::GetLinearBucketMin(
+      static_cast<int64_t>(now_exploded.hour * 60 + now_exploded.minute),
+      kBucketSize));
   features.set_day_of_week(static_cast<UserChargingEvent::Features::DayOfWeek>(
       now_exploded.day_of_week));
   features.set_day_of_month(now_exploded.day_of_month);
@@ -247,10 +360,41 @@
   } else {
     features.set_device_mode(UserChargingEvent::Features::UNKNOWN_MODE);
   }
+
+  // Last charge related features. This logic relies on the fact that
+  // there will be at most one halt event because of |UpdatePastEvents()|.
+  bool halt_from_last_charge = false;
+  for (const auto& event : past_events_) {
+    if (IsHaltEvent(event)) {
+      halt_from_last_charge = true;
+      break;
+    }
+  }
+  features.set_halt_from_last_charge(halt_from_last_charge);
+
+  PastEvent last_charge_plugged_in;
+  PastEvent last_charge_unplugged;
+  std::tie(last_charge_plugged_in, last_charge_unplugged) =
+      GetLastChargeEvents();
+
+  if (!last_charge_plugged_in.has_time() || !last_charge_unplugged.has_time())
+    return;
+  features.set_time_since_last_charge(ukm::GetExponentialBucketMinForCounts1000(
+      now.ToDeltaSinceWindowsEpoch().InMinutes() -
+      last_charge_unplugged.time()));
+  features.set_duration_of_last_charge(
+      ukm::GetExponentialBucketMinForCounts1000(last_charge_unplugged.time() -
+                                                last_charge_plugged_in.time()));
+  features.set_battery_percentage_before_last_charge(
+      last_charge_plugged_in.battery_percent());
+  features.set_battery_percentage_of_last_charge(
+      last_charge_unplugged.battery_percent());
+  features.set_timezone_difference_from_last_charge(
+      (now.UTCMidnight() - now.LocalMidnight()).InHours() -
+      last_charge_unplugged.timezone());
 }
 
-void SmartChargingManager::LogEvent(
-    const UserChargingEvent::Event::Reason& reason) {
+void SmartChargingManager::LogEvent(const EventReason& reason) {
   UserChargingEvent proto;
   proto.mutable_event()->set_event_id(++event_id_);
   proto.mutable_event()->set_reason(reason);
@@ -261,6 +405,12 @@
   user_charging_event_for_test_ = proto;
 
   ukm_logger_->LogEvent(proto);
+
+  AddPastEvent(reason);
+  // Calls |UpdatePastEvents()| after |AddPastEvent()| to keep the number of
+  // saved past events to be minimum.
+  UpdatePastEvents();
+  MaybeSaveToDisk();
 }
 
 void SmartChargingManager::OnTimerFired() {
@@ -306,5 +456,143 @@
   return total_time;
 }
 
+void SmartChargingManager::MaybeLoadFromDisk() {
+  DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
+  base::FilePath file_path;
+  if (GetPathSuccess(&file_path, false /*create_new_path*/)) {
+    LoadFromDisk(file_path);
+    loaded_from_disk_ = true;
+  }
+}
+
+void SmartChargingManager::MaybeSaveToDisk() {
+  DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
+  base::FilePath file_path;
+  if (GetPathSuccess(&file_path, true /*create_new_path*/))
+    SaveToDisk(file_path);
+}
+
+void SmartChargingManager::OnLoadProtoFromDiskComplete(
+    std::unique_ptr<PastChargingEvents> proto) {
+  DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
+  if (!proto) {
+    return;
+  }
+
+  for (const auto& event : proto.get()->events()) {
+    past_events_.emplace_back(event);
+  }
+}
+
+void SmartChargingManager::LoadFromDisk(const base::FilePath& file_path) {
+  DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
+
+  base::PostTaskAndReplyWithResult(
+      blocking_task_runner_.get(), FROM_HERE,
+      base::BindOnce(&ReadProto, file_path),
+      base::BindOnce(&SmartChargingManager::OnLoadProtoFromDiskComplete,
+                     weak_ptr_factory_.GetWeakPtr()));
+}
+
+void SmartChargingManager::SaveToDisk(const base::FilePath& file_path) {
+  DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
+  PastChargingEvents proto;
+  for (const auto& event : past_events_) {
+    *proto.add_events() = event;
+  }
+  blocking_task_runner_->PostTask(
+      FROM_HERE, base::BindOnce(&WriteProtoToDisk, proto, file_path));
+}
+
+void SmartChargingManager::AddPastEvent(const EventReason& reason) {
+  // Since we use |past_events_| to calculate last charge information, we don't
+  // need to save if the reason is PERIODIC_LOG.
+  if (reason == UserChargingEvent::Event::PERIODIC_LOG)
+    return;
+  PastEvent new_event;
+  const base::Time now = base::Time::Now();
+  new_event.set_time(now.ToDeltaSinceWindowsEpoch().InMinutes());
+  if (battery_percent_.has_value())
+    new_event.set_battery_percent(static_cast<int>(battery_percent_.value()));
+  new_event.set_timezone((now.UTCMidnight() - now.LocalMidnight()).InHours());
+  new_event.set_reason(reason);
+  past_events_.emplace_back(new_event);
+}
+
+void SmartChargingManager::UpdatePastEvents() {
+  PastEvent last_charge_plugged_in;
+  PastEvent last_charge_unplugged;
+  PastEvent new_plugged_in;
+  PastEvent new_halt;
+
+  std::tie(last_charge_plugged_in, last_charge_unplugged) =
+      GetLastChargeEvents();
+  if (last_charge_unplugged.has_time()) {
+    // Gets the unplugged and halt(shutdown/suspend) events after the unplug (if
+    // any).
+    for (const auto& event : past_events_) {
+      if (event.time() > last_charge_unplugged.time()) {
+        if (event.reason() == UserChargingEvent::Event::CHARGER_PLUGGED_IN) {
+          new_plugged_in = event;
+        } else if (IsHaltEvent(event)) {
+          new_halt = event;
+        }
+      }
+    }
+  } else {
+    // Gets the last halt and plugged in event.
+    for (const auto& event : past_events_) {
+      if (event.reason() == UserChargingEvent::Event::CHARGER_PLUGGED_IN) {
+        new_plugged_in = event;
+      }
+      if (IsHaltEvent(event)) {
+        new_halt = event;
+      }
+    }
+  }
+
+  // Removes everything else.
+  past_events_.clear();
+
+  // Adds useful events back.
+  if (last_charge_plugged_in.has_time())
+    past_events_.emplace_back(last_charge_plugged_in);
+  if (last_charge_unplugged.has_time())
+    past_events_.emplace_back(last_charge_unplugged);
+  if (new_plugged_in.has_time())
+    past_events_.emplace_back(new_plugged_in);
+  if (new_halt.has_time())
+    past_events_.emplace_back(new_halt);
+}
+
+// Returns the last pair of plug/unplug events. If can't find the last pair,
+// return a pair of empty events.
+std::tuple<PastEvent, PastEvent> SmartChargingManager::GetLastChargeEvents() {
+  PastEvent plugged_in;
+  PastEvent unplugged;
+  PastEvent temp_plugged_in;
+  // There could be multiple events with CHARGER_PLUGGED_IN and/or
+  // CHARGER_UNPLUGGED. This function relies on the fact that all events are
+  // sorted by time.
+  for (const auto& event : past_events_) {
+    if (event.has_reason()) {
+      if (event.reason() == UserChargingEvent::Event::CHARGER_PLUGGED_IN) {
+        temp_plugged_in = event;
+      } else if (event.reason() ==
+                 UserChargingEvent::Event::CHARGER_UNPLUGGED) {
+        if (!temp_plugged_in.has_time())
+          continue;
+        // Updates the pair of results.
+        if (!plugged_in.has_time() ||
+            temp_plugged_in.time() != plugged_in.time()) {
+          plugged_in = temp_plugged_in;
+          unplugged = event;
+        }
+      }
+    }
+  }
+  return std::make_tuple(plugged_in, unplugged);
+}
+
 }  // namespace power
 }  // namespace chromeos
diff --git a/chrome/browser/chromeos/power/smart_charging/smart_charging_manager.h b/chrome/browser/chromeos/power/smart_charging/smart_charging_manager.h
index 52ac00f..95cef881 100644
--- a/chrome/browser/chromeos/power/smart_charging/smart_charging_manager.h
+++ b/chrome/browser/chromeos/power/smart_charging/smart_charging_manager.h
@@ -5,6 +5,7 @@
 #ifndef CHROME_BROWSER_CHROMEOS_POWER_SMART_CHARGING_SMART_CHARGING_MANAGER_H_
 #define CHROME_BROWSER_CHROMEOS_POWER_SMART_CHARGING_SMART_CHARGING_MANAGER_H_
 
+#include "base/files/file_path.h"
 #include "base/gtest_prod_util.h"
 #include "base/macros.h"
 #include "base/memory/weak_ptr.h"
@@ -16,6 +17,8 @@
 #include "chrome/browser/chromeos/power/smart_charging/smart_charging_ukm_logger.h"
 #include "chrome/browser/chromeos/power/smart_charging/user_charging_event.pb.h"
 #include "chromeos/dbus/power/power_manager_client.h"
+#include "components/session_manager/core/session_manager.h"
+#include "components/session_manager/core/session_manager_observer.h"
 #include "mojo/public/cpp/bindings/receiver.h"
 #include "services/viz/public/mojom/compositing/video_detector_observer.mojom.h"
 #include "ui/base/user_activity/user_activity_detector.h"
@@ -27,16 +30,21 @@
 class RecentEventsCounter;
 }  // namespace ml
 
+using PastEvent = PastChargingEvents::Event;
+using EventReason = UserChargingEvent::Event::Reason;
+
 // SmartChargingManager logs battery percentage and other features related to
 // user charging events. It is currently used to log data and will be
 // extended to do inference in the future.
 class SmartChargingManager : public ui::UserActivityObserver,
                              public PowerManagerClient::Observer,
-                             public viz::mojom::VideoDetectorObserver {
+                             public viz::mojom::VideoDetectorObserver,
+                             public session_manager::SessionManagerObserver {
  public:
   SmartChargingManager(
       ui::UserActivityDetector* detector,
       mojo::PendingReceiver<viz::mojom::VideoDetectorObserver> receiver,
+      session_manager::SessionManager* session_manager,
       std::unique_ptr<base::RepeatingTimer> periodic_timer);
   ~SmartChargingManager() override;
   SmartChargingManager(const SmartChargingManager&) = delete;
@@ -73,6 +81,9 @@
   void OnVideoActivityStarted() override;
   void OnVideoActivityEnded() override;
 
+  // session_manager::SessionManagerObserver overrides:
+  void OnUserSessionStarted(bool is_primary_user) override;
+
  private:
   friend class SmartChargingManagerTest;
 
@@ -80,7 +91,7 @@
   void PopulateUserChargingEventProto(UserChargingEvent* proto);
 
   // Log the event.
-  void LogEvent(const UserChargingEvent::Event::Reason& reason);
+  void LogEvent(const EventReason& reason);
 
   // Called when the periodic timer triggers.
   void OnTimerFired();
@@ -97,16 +108,47 @@
   // minutes).
   base::TimeDelta DurationRecentVideoPlaying();
 
+  // Checks if the file for current user exists, if yes loads from disk.
+  void MaybeLoadFromDisk();
+
+  // Checks if we can create a path on disk to save the data, if yes saves to
+  // disk.
+  void MaybeSaveToDisk();
+
+  // Loads data from disk given a file path.
+  void LoadFromDisk(const base::FilePath& file_path);
+
+  // Saves data to disk given a file path.
+  void SaveToDisk(const base::FilePath& file_path);
+
+  // Calls after SaveToDisk completes.
+  void OnLoadProtoFromDiskComplete(std::unique_ptr<PastChargingEvents> proto);
+
+  // Adds a past events given it's reason to |past_events_|.
+  void AddPastEvent(const EventReason& reason);
+
+  // Updates and deletes events.
+  void UpdatePastEvents();
+
+  // Gets the "plug in" and "unplug" events of the last charge.
+  std::tuple<PastEvent, PastEvent> GetLastChargeEvents();
+
   ScopedObserver<ui::UserActivityDetector, ui::UserActivityObserver>
       user_activity_observer_{this};
 
   ScopedObserver<chromeos::PowerManagerClient,
                  chromeos::PowerManagerClient::Observer>
       power_manager_client_observer_{this};
+  ScopedObserver<session_manager::SessionManager,
+                 session_manager::SessionManagerObserver>
+      session_manager_observer_{this};
 
   // Timer to trigger periodically for logging data.
   const std::unique_ptr<base::RepeatingTimer> periodic_timer_;
 
+  // Checks if data is loaded from disk yet.
+  bool loaded_from_disk_ = false;
+
   // Helper to return TimeSinceBoot.
   ml::BootClock boot_clock_;
   int event_id_ = -1;
@@ -134,6 +176,7 @@
   // TODO(crbug.com/1028853): This is for testing only. Need to remove when ukm
   // logger is available.
   UserChargingEvent user_charging_event_for_test_;
+  std::vector<PastEvent> past_events_;
 
   base::Optional<double> battery_percent_;
   base::Optional<double> screen_brightness_percent_;
@@ -143,6 +186,7 @@
   const std::unique_ptr<SmartChargingUkmLogger> ukm_logger_;
 
   SEQUENCE_CHECKER(sequence_checker_);
+  scoped_refptr<base::SequencedTaskRunner> blocking_task_runner_;
   base::WeakPtrFactory<SmartChargingManager> weak_ptr_factory_{this};
 };
 
diff --git a/chrome/browser/chromeos/power/smart_charging/smart_charging_manager_unittest.cc b/chrome/browser/chromeos/power/smart_charging/smart_charging_manager_unittest.cc
index cebebbc..da3073d 100644
--- a/chrome/browser/chromeos/power/smart_charging/smart_charging_manager_unittest.cc
+++ b/chrome/browser/chromeos/power/smart_charging/smart_charging_manager_unittest.cc
@@ -4,15 +4,32 @@
 
 #include "chrome/browser/chromeos/power/smart_charging/smart_charging_manager.h"
 
+#include "base/files/file_util.h"
+#include "base/files/scoped_temp_dir.h"
 #include "base/test/test_mock_time_task_runner.h"
 #include "base/time/clock.h"
 #include "base/timer/timer.h"
+#include "chrome/browser/chromeos/power/smart_charging/user_charging_event.pb.h"
 #include "chrome/test/base/chrome_render_view_host_test_harness.h"
 #include "chromeos/dbus/power/fake_power_manager_client.h"
+#include "components/session_manager/core/session_manager.h"
 #include "ui/events/keycodes/dom/dom_code.h"
 
 namespace chromeos {
 namespace power {
+namespace {
+PastEvent CreateEvent(int time,
+                      int battery_percent,
+                      int timezone,
+                      const EventReason& reason) {
+  PastEvent event;
+  event.set_time(time);
+  event.set_battery_percent(battery_percent);
+  event.set_timezone(timezone);
+  event.set_reason(reason);
+  return event;
+}
+}  // namespace
 
 class SmartChargingManagerTest : public ChromeRenderViewHostTestHarness {
  public:
@@ -36,7 +53,7 @@
         task_environment()->GetMainThreadTaskRunner());
     smart_charging_manager_ = std::make_unique<SmartChargingManager>(
         &user_activity_detector_, observer.InitWithNewPipeAndPassReceiver(),
-        std::move(periodic_timer));
+        &session_manager_, std::move(periodic_timer));
   }
 
   void TearDown() override {
@@ -112,6 +129,40 @@
     return smart_charging_manager_->DurationRecentVideoPlaying();
   }
 
+  std::tuple<PastEvent, PastEvent> GetLastChargeEvents() {
+    return smart_charging_manager_->GetLastChargeEvents();
+  }
+
+  void UpdatePastEvents() { smart_charging_manager_->UpdatePastEvents(); }
+
+  std::vector<PastEvent> GetPastEvents() {
+    return smart_charging_manager_->past_events_;
+  }
+
+  void SetBatteryPercentage(double battery_percent) {
+    smart_charging_manager_->battery_percent_ = battery_percent;
+  }
+
+  void AddEvent(const PastEvent& event) {
+    smart_charging_manager_->past_events_.emplace_back(event);
+  }
+
+  void AddPastEvent(const EventReason& reason) {
+    smart_charging_manager_->AddPastEvent(reason);
+  }
+
+  void SaveToDisk(const base::FilePath& file_path) {
+    smart_charging_manager_->SaveToDisk(file_path);
+  }
+
+  void LoadFromDisk(const base::FilePath& file_path) {
+    smart_charging_manager_->LoadFromDisk(file_path);
+  }
+
+  void ClearPastEvents() { smart_charging_manager_->past_events_.clear(); }
+
+  void Wait() { task_environment()->RunUntilIdle(); }
+
   const gfx::Point kEventLocation = gfx::Point(90, 90);
   const ui::MouseEvent kMouseEvent = ui::MouseEvent(ui::ET_MOUSE_MOVED,
                                                     kEventLocation,
@@ -122,6 +173,7 @@
 
  private:
   ui::UserActivityDetector user_activity_detector_;
+  session_manager::SessionManager session_manager_;
   std::unique_ptr<SmartChargingManager> smart_charging_manager_;
 };
 
@@ -281,5 +333,184 @@
   EXPECT_EQ(GetUserChargingEvent().features().device_mode(),
             UserChargingEvent::Features::LAPTOP_MODE);
 }
+
+TEST_F(SmartChargingManagerTest, GetLastChargeEventsNoLastCharges) {
+  AddEvent(CreateEvent(1, 10, 11, UserChargingEvent::Event::PERIODIC_LOG));
+  AddEvent(CreateEvent(2, 20, 11, UserChargingEvent::Event::CHARGER_UNPLUGGED));
+  AddEvent(CreateEvent(3, 30, 11, UserChargingEvent::Event::CHARGER_UNPLUGGED));
+  AddEvent(
+      CreateEvent(4, 40, 11, UserChargingEvent::Event::CHARGER_PLUGGED_IN));
+  AddEvent(CreateEvent(5, 50, 11, UserChargingEvent::Event::SHUTDOWN));
+  AddEvent(CreateEvent(6, 60, 11, UserChargingEvent::Event::PERIODIC_LOG));
+
+  PastEvent plugged_in;
+  PastEvent unplugged;
+  std::tie(plugged_in, unplugged) = GetLastChargeEvents();
+  EXPECT_FALSE(plugged_in.has_time());
+  EXPECT_FALSE(unplugged.has_time());
+}
+
+TEST_F(SmartChargingManagerTest, GetLastChargeEventsComplex) {
+  AddEvent(CreateEvent(1, 10, 11, UserChargingEvent::Event::PERIODIC_LOG));
+  AddEvent(CreateEvent(2, 10, 11, UserChargingEvent::Event::PERIODIC_LOG));
+  AddEvent(CreateEvent(3, 20, 11, UserChargingEvent::Event::CHARGER_UNPLUGGED));
+  AddEvent(CreateEvent(4, 10, 11, UserChargingEvent::Event::PERIODIC_LOG));
+  AddEvent(CreateEvent(5, 30, 11, UserChargingEvent::Event::CHARGER_UNPLUGGED));
+  AddEvent(
+      CreateEvent(6, 20, 11, UserChargingEvent::Event::CHARGER_PLUGGED_IN));
+  AddEvent(CreateEvent(7, 10, 11, UserChargingEvent::Event::PERIODIC_LOG));
+  AddEvent(
+      CreateEvent(8, 30, 11, UserChargingEvent::Event::CHARGER_PLUGGED_IN));
+  AddEvent(CreateEvent(9, 10, 11, UserChargingEvent::Event::PERIODIC_LOG));
+  AddEvent(CreateEvent(10, 20, 1, UserChargingEvent::Event::CHARGER_UNPLUGGED));
+  AddEvent(CreateEvent(11, 10, 1, UserChargingEvent::Event::PERIODIC_LOG));
+  AddEvent(CreateEvent(12, 20, 1, UserChargingEvent::Event::CHARGER_UNPLUGGED));
+  AddEvent(CreateEvent(13, 10, 1, UserChargingEvent::Event::PERIODIC_LOG));
+  AddEvent(
+      CreateEvent(14, 40, 1, UserChargingEvent::Event::CHARGER_PLUGGED_IN));
+  AddEvent(
+      CreateEvent(15, 40, 1, UserChargingEvent::Event::CHARGER_PLUGGED_IN));
+  AddEvent(CreateEvent(16, 10, 1, UserChargingEvent::Event::PERIODIC_LOG));
+  AddEvent(CreateEvent(17, 10, 1, UserChargingEvent::Event::PERIODIC_LOG));
+  AddEvent(CreateEvent(18, 20, 1, UserChargingEvent::Event::CHARGER_UNPLUGGED));
+  AddEvent(CreateEvent(19, 10, 1, UserChargingEvent::Event::PERIODIC_LOG));
+  AddEvent(
+      CreateEvent(20, 40, 1, UserChargingEvent::Event::CHARGER_PLUGGED_IN));
+  AddEvent(CreateEvent(21, 40, 1, UserChargingEvent::Event::SHUTDOWN));
+  AddEvent(
+      CreateEvent(22, 40, 1, UserChargingEvent::Event::CHARGER_PLUGGED_IN));
+
+  PastEvent plugged_in;
+  PastEvent unplugged;
+  std::tie(plugged_in, unplugged) = GetLastChargeEvents();
+  EXPECT_TRUE(plugged_in.has_time());
+  EXPECT_TRUE(unplugged.has_time());
+  EXPECT_EQ(plugged_in.time(), 15);
+  EXPECT_EQ(unplugged.time(), 18);
+}
+
+TEST_F(SmartChargingManagerTest, UpdatePastEventsNoLastCharge) {
+  AddEvent(CreateEvent(1, 10, 11, UserChargingEvent::Event::PERIODIC_LOG));
+  AddEvent(CreateEvent(2, 20, 11, UserChargingEvent::Event::CHARGER_UNPLUGGED));
+  AddEvent(CreateEvent(3, 30, 11, UserChargingEvent::Event::CHARGER_UNPLUGGED));
+  AddEvent(
+      CreateEvent(4, 40, 11, UserChargingEvent::Event::CHARGER_PLUGGED_IN));
+  AddEvent(CreateEvent(5, 50, 11, UserChargingEvent::Event::SHUTDOWN));
+  AddEvent(CreateEvent(6, 60, 11, UserChargingEvent::Event::PERIODIC_LOG));
+
+  UpdatePastEvents();
+
+  const std::vector<PastEvent> events = GetPastEvents();
+  EXPECT_EQ(events.size(), static_cast<unsigned long>(2));
+  EXPECT_EQ(events[0].time(), 4);
+  EXPECT_EQ(events[1].time(), 5);
+}
+
+TEST_F(SmartChargingManagerTest, UpdatePastEventsComplex) {
+  AddEvent(CreateEvent(1, 10, 11, UserChargingEvent::Event::PERIODIC_LOG));
+  AddEvent(CreateEvent(2, 10, 11, UserChargingEvent::Event::PERIODIC_LOG));
+  AddEvent(CreateEvent(3, 20, 11, UserChargingEvent::Event::CHARGER_UNPLUGGED));
+  AddEvent(CreateEvent(4, 10, 11, UserChargingEvent::Event::PERIODIC_LOG));
+  AddEvent(CreateEvent(5, 30, 11, UserChargingEvent::Event::CHARGER_UNPLUGGED));
+  AddEvent(
+      CreateEvent(6, 20, 11, UserChargingEvent::Event::CHARGER_PLUGGED_IN));
+  AddEvent(CreateEvent(7, 10, 11, UserChargingEvent::Event::PERIODIC_LOG));
+  AddEvent(
+      CreateEvent(8, 30, 11, UserChargingEvent::Event::CHARGER_PLUGGED_IN));
+  AddEvent(CreateEvent(9, 10, 11, UserChargingEvent::Event::PERIODIC_LOG));
+  AddEvent(CreateEvent(10, 20, 1, UserChargingEvent::Event::CHARGER_UNPLUGGED));
+  AddEvent(CreateEvent(11, 10, 1, UserChargingEvent::Event::PERIODIC_LOG));
+  AddEvent(CreateEvent(12, 20, 1, UserChargingEvent::Event::CHARGER_UNPLUGGED));
+  AddEvent(CreateEvent(13, 10, 1, UserChargingEvent::Event::PERIODIC_LOG));
+  AddEvent(
+      CreateEvent(14, 40, 1, UserChargingEvent::Event::CHARGER_PLUGGED_IN));
+  AddEvent(
+      CreateEvent(15, 40, 1, UserChargingEvent::Event::CHARGER_PLUGGED_IN));
+  AddEvent(CreateEvent(16, 10, 1, UserChargingEvent::Event::PERIODIC_LOG));
+  AddEvent(CreateEvent(17, 10, 1, UserChargingEvent::Event::PERIODIC_LOG));
+  AddEvent(CreateEvent(18, 20, 1, UserChargingEvent::Event::CHARGER_UNPLUGGED));
+  AddEvent(CreateEvent(19, 10, 1, UserChargingEvent::Event::PERIODIC_LOG));
+  AddEvent(
+      CreateEvent(20, 40, 1, UserChargingEvent::Event::CHARGER_PLUGGED_IN));
+  AddEvent(CreateEvent(21, 40, 1, UserChargingEvent::Event::SHUTDOWN));
+  AddEvent(
+      CreateEvent(22, 40, 1, UserChargingEvent::Event::CHARGER_PLUGGED_IN));
+
+  UpdatePastEvents();
+
+  const std::vector<PastEvent> events = GetPastEvents();
+  EXPECT_EQ(events.size(), static_cast<unsigned long>(4));
+  EXPECT_EQ(events[0].time(), 15);
+  EXPECT_EQ(events[1].time(), 18);
+  EXPECT_EQ(events[2].time(), 22);
+  EXPECT_EQ(events[3].time(), 21);
+}
+
+TEST_F(SmartChargingManagerTest, AddPastEventTest) {
+  SetBatteryPercentage(15.5);
+  AddPastEvent(UserChargingEvent::Event::CHARGER_PLUGGED_IN);
+  SetBatteryPercentage(25.7);
+  AddPastEvent(UserChargingEvent::Event::CHARGER_UNPLUGGED);
+
+  const std::vector<PastEvent> events = GetPastEvents();
+  EXPECT_EQ(events.size(), static_cast<unsigned long>(2));
+  EXPECT_EQ(events[0].battery_percent(), 15);
+  EXPECT_EQ(events[0].reason(), UserChargingEvent::Event::CHARGER_PLUGGED_IN);
+  EXPECT_EQ(events[1].battery_percent(), 25);
+  EXPECT_EQ(events[1].reason(), UserChargingEvent::Event::CHARGER_UNPLUGGED);
+}
+
+TEST_F(SmartChargingManagerTest, LoadAndSave) {
+  AddEvent(CreateEvent(1, 10, 11, UserChargingEvent::Event::PERIODIC_LOG));
+  AddEvent(CreateEvent(2, 20, 11, UserChargingEvent::Event::CHARGER_UNPLUGGED));
+  AddEvent(CreateEvent(3, 30, 11, UserChargingEvent::Event::CHARGER_UNPLUGGED));
+
+  EXPECT_EQ(GetPastEvents().size(), static_cast<unsigned long>(3));
+
+  // Save to disk
+  base::ScopedTempDir temp_dir;
+  ASSERT_TRUE(temp_dir.CreateUniqueTempDir());
+  const base::FilePath file_path =
+      temp_dir.GetPath().AppendASCII("smartcharging.txt");
+  SaveToDisk(file_path);
+  Wait();
+  ASSERT_TRUE(base::PathExists(file_path));
+
+  // Clear memory
+  ClearPastEvents();
+
+  // Now there is no past event on memory
+  EXPECT_EQ(GetPastEvents().size(), static_cast<unsigned long>(0));
+
+  // Load from disk
+  LoadFromDisk(file_path);
+  Wait();
+
+  // Check the result
+  const std::vector<PastEvent> events = GetPastEvents();
+  EXPECT_EQ(events.size(), static_cast<unsigned long>(3));
+  EXPECT_EQ(events[0].time(), 1);
+  EXPECT_EQ(events[1].time(), 2);
+  EXPECT_EQ(events[2].time(), 3);
+}
+
+TEST_F(SmartChargingManagerTest, LastChargeRelatedFeatures) {
+  ReportPowerChangeEvent(power_manager::PowerSupplyProperties::AC, 23.0f);
+  FastForwardTimeBySecs(3600);
+  ReportPowerChangeEvent(power_manager::PowerSupplyProperties::DISCONNECTED,
+                         80.0f);
+  FastForwardTimeBySecs(600);
+  ReportShutdownEvent();
+  FastForwardTimeBySecs(1800);
+  ReportPowerChangeEvent(power_manager::PowerSupplyProperties::AC, 75.0f);
+
+  const auto features = GetUserChargingEvent().features();
+
+  EXPECT_TRUE(features.halt_from_last_charge());
+  EXPECT_EQ(features.time_since_last_charge(), 38);
+  EXPECT_EQ(features.duration_of_last_charge(), 58);
+  EXPECT_EQ(features.battery_percentage_before_last_charge(), 23);
+  EXPECT_EQ(features.battery_percentage_of_last_charge(), 80);
+}
 }  // namespace power
 }  // namespace chromeos
diff --git a/chrome/browser/chromeos/power/smart_charging/user_charging_event.proto b/chrome/browser/chromeos/power/smart_charging/user_charging_event.proto
index 2e112a6..6a38a98 100644
--- a/chrome/browser/chromeos/power/smart_charging/user_charging_event.proto
+++ b/chrome/browser/chromeos/power/smart_charging/user_charging_event.proto
@@ -117,3 +117,21 @@
   optional Features features = 1;
   optional Event event = 2;
 }
+
+// PastChargingEvents contain a list of events that have information about "past
+// charging events". It will only store the plug/unplug pair of the last charge
+// and a recent plug/halt event if any.
+message PastChargingEvents {
+  message Event {
+    // Time of the event in minutes since Windows epoch.
+    optional int32 time = 1;
+    // Battery percentage of the device.
+    optional int32 battery_percent = 2;
+    // Timezone of the device.
+    optional int32 timezone = 3;
+    // Reason for the event.
+    optional UserChargingEvent.Event.Reason reason = 4;
+  }
+  // A list containing past charging events.
+  repeated Event events = 1;
+}
diff --git a/chrome/browser/extensions/content_verifier_browsertest.cc b/chrome/browser/extensions/content_verifier_browsertest.cc
index 2a86557..39d5142 100644
--- a/chrome/browser/extensions/content_verifier_browsertest.cc
+++ b/chrome/browser/extensions/content_verifier_browsertest.cc
@@ -452,6 +452,36 @@
   EXPECT_EQ(disable_reason::DISABLE_NONE, reasons);
 }
 
+// Tests that navigating to an extension resource with incorrect case does not
+// disable the extension, both in case-sensitive and case-insensitive systems.
+//
+// Regression test for https://crbug.com/1033294.
+IN_PROC_BROWSER_TEST_F(ContentVerifierTest,
+                       RemainsEnabledOnNavigateToPathWithIncorrectCase) {
+  const Extension* extension = InstallExtensionFromWebstore(
+      test_data_dir_.AppendASCII("content_verifier/dot_slash_paths.crx"), 1);
+  ASSERT_TRUE(extension);
+  const ExtensionId extension_id = extension->id();
+
+  // Note: the resource in |extension| is "page.html".
+  constexpr char kIncorrectCasePath[] = "PAGE.html";
+
+  TestContentVerifySingleJobObserver job_observer(
+      extension_id, base::FilePath().AppendASCII(kIncorrectCasePath));
+
+  GURL page_url = extension->GetResourceURL(kIncorrectCasePath);
+  ui_test_utils::NavigateToURLWithDispositionBlockUntilNavigationsComplete(
+      browser(), page_url, 1, WindowOpenDisposition::CURRENT_TAB,
+      ui_test_utils::BROWSER_TEST_WAIT_FOR_NAVIGATION);
+
+  // Ensure that ContentVerifyJob has finished checking the resource.
+  EXPECT_EQ(ContentVerifyJob::NONE, job_observer.WaitForJobFinished());
+
+  ExtensionPrefs* prefs = ExtensionPrefs::Get(profile());
+  int reasons = prefs->GetDisableReasons(extension_id);
+  EXPECT_EQ(disable_reason::DISABLE_NONE, reasons);
+}
+
 class ContentVerifierPolicyTest : public ContentVerifierTest {
  public:
   // We need to do this work here because the force-install policy values are
diff --git a/chrome/browser/extensions/isolated_app_browsertest.cc b/chrome/browser/extensions/isolated_app_browsertest.cc
index bed0ad5..ccb5be50 100644
--- a/chrome/browser/extensions/isolated_app_browsertest.cc
+++ b/chrome/browser/extensions/isolated_app_browsertest.cc
@@ -135,7 +135,8 @@
   }
 };
 
-IN_PROC_BROWSER_TEST_F(IsolatedAppTest, CrossProcessClientRedirect) {
+// Flaky: https://crbug.com/1032668
+IN_PROC_BROWSER_TEST_F(IsolatedAppTest, DISABLED_CrossProcessClientRedirect) {
   ASSERT_TRUE(embedded_test_server()->Start());
 
   ASSERT_TRUE(LoadExtension(test_data_dir_.AppendASCII("isolated_apps/app1")));
diff --git a/chrome/browser/installedapp/installed_app_provider_unittest.cc b/chrome/browser/installedapp/installed_app_provider_unittest.cc
index 2bc035a3..5d540cc 100644
--- a/chrome/browser/installedapp/installed_app_provider_unittest.cc
+++ b/chrome/browser/installedapp/installed_app_provider_unittest.cc
@@ -26,4 +26,8 @@
   base::android::ScopedJavaGlobalRef<jobject> j_test_;
 };
 
+// TODO(crbug/1041909): Disable failing test. This looks like magic but the test
+// target is defined by the macro below. This is a hack until these tests are
+// easier to disable.
+#define TestOneRelatedAppNotInstalled DISABLED_TestOneRelatedAppNotInstalled
 JAVA_TESTS(InstalledAppProviderTest, j_test())
diff --git a/chrome/browser/media/encrypted_media_supported_types_browsertest.cc b/chrome/browser/media/encrypted_media_supported_types_browsertest.cc
index 7b3664f..7afaebc 100644
--- a/chrome/browser/media/encrypted_media_supported_types_browsertest.cc
+++ b/chrome/browser/media/encrypted_media_supported_types_browsertest.cc
@@ -61,11 +61,9 @@
 const char kUnsupportedResult[] =
     "Unsupported keySystem or supportedConfigurations.";
 const char kUnexpectedResult[] = "unexpected result";
-const char kTypeErrorResult[] = "TypeError";
 
 #define EXPECT_SUCCESS(test) EXPECT_EQ(kSuccessResult, test)
 #define EXPECT_UNSUPPORTED(test) EXPECT_EQ(kUnsupportedResult, test)
-#define EXPECT_TYPEERROR(test) EXPECT_EQ(kTypeErrorResult, test)
 
 // Any support is acceptable. This can be used around new CDM check-in time
 // where test expectations can change based on the new CDM's capability.
@@ -280,7 +278,6 @@
                                         base::ASCIIToUTF16(kSuccessResult));
     title_watcher.AlsoWaitForTitle(base::ASCIIToUTF16(kUnsupportedResult));
     title_watcher.AlsoWaitForTitle(base::ASCIIToUTF16(kUnexpectedResult));
-    title_watcher.AlsoWaitForTitle(base::ASCIIToUTF16(kTypeErrorResult));
     EXPECT_TRUE(content::ExecuteScript(contents, command));
     base::string16 result = title_watcher.WaitAndGetTitle();
     return base::UTF16ToASCII(result);
@@ -722,17 +719,17 @@
   EXPECT_SUCCESS(IsAudioEncryptionSchemeSupported(kClearKey, nullptr));
   EXPECT_SUCCESS(IsAudioEncryptionSchemeSupported(kClearKey, "cenc"));
   EXPECT_SUCCESS(IsAudioEncryptionSchemeSupported(kClearKey, "cbcs"));
+  EXPECT_SUCCESS(IsAudioEncryptionSchemeSupported(kClearKey, "cbcs-1-9"));
   EXPECT_SUCCESS(IsVideoEncryptionSchemeSupported(kClearKey, nullptr));
   EXPECT_SUCCESS(IsVideoEncryptionSchemeSupported(kClearKey, "cenc"));
   EXPECT_SUCCESS(IsVideoEncryptionSchemeSupported(kClearKey, "cbcs"));
+  EXPECT_SUCCESS(IsVideoEncryptionSchemeSupported(kClearKey, "cbcs-1-9"));
 
-  // Invalid encryption schemes will be rejected. However, invalid values
-  // generate a TypeError (The provided value '...' is not a valid enum value
-  // of type EncryptionScheme), which is not handled by the test page.
-  EXPECT_TYPEERROR(IsAudioEncryptionSchemeSupported(kClearKey, "Invalid"));
-  EXPECT_TYPEERROR(IsVideoEncryptionSchemeSupported(kClearKey, "Invalid"));
-  EXPECT_TYPEERROR(IsAudioEncryptionSchemeSupported(kClearKey, ""));
-  EXPECT_TYPEERROR(IsVideoEncryptionSchemeSupported(kClearKey, ""));
+  // Invalid encryption schemes will be rejected.
+  EXPECT_UNSUPPORTED(IsAudioEncryptionSchemeSupported(kClearKey, "Invalid"));
+  EXPECT_UNSUPPORTED(IsVideoEncryptionSchemeSupported(kClearKey, "Invalid"));
+  EXPECT_UNSUPPORTED(IsAudioEncryptionSchemeSupported(kClearKey, ""));
+  EXPECT_UNSUPPORTED(IsVideoEncryptionSchemeSupported(kClearKey, ""));
 }
 
 //
@@ -942,19 +939,21 @@
   EXPECT_SUCCESS(IsAudioEncryptionSchemeSupported(kExternalClearKey, nullptr));
   EXPECT_SUCCESS(IsAudioEncryptionSchemeSupported(kExternalClearKey, "cenc"));
   EXPECT_SUCCESS(IsAudioEncryptionSchemeSupported(kExternalClearKey, "cbcs"));
+  EXPECT_SUCCESS(
+      IsAudioEncryptionSchemeSupported(kExternalClearKey, "cbcs-1-9"));
   EXPECT_SUCCESS(IsVideoEncryptionSchemeSupported(kExternalClearKey, nullptr));
   EXPECT_SUCCESS(IsVideoEncryptionSchemeSupported(kExternalClearKey, "cenc"));
   EXPECT_SUCCESS(IsVideoEncryptionSchemeSupported(kExternalClearKey, "cbcs"));
+  EXPECT_SUCCESS(
+      IsVideoEncryptionSchemeSupported(kExternalClearKey, "cbcs-1-9"));
 
-  // Invalid encryption schemes will be rejected. However, invalid values
-  // generate a TypeError (The provided value '...' is not a valid enum value
-  // of type EncryptionScheme), which is not handled by the test page.
-  EXPECT_TYPEERROR(
+  // Invalid encryption schemes will be rejected.
+  EXPECT_UNSUPPORTED(
       IsAudioEncryptionSchemeSupported(kExternalClearKey, "Invalid"));
-  EXPECT_TYPEERROR(
+  EXPECT_UNSUPPORTED(
       IsVideoEncryptionSchemeSupported(kExternalClearKey, "Invalid"));
-  EXPECT_TYPEERROR(IsAudioEncryptionSchemeSupported(kExternalClearKey, ""));
-  EXPECT_TYPEERROR(IsVideoEncryptionSchemeSupported(kExternalClearKey, ""));
+  EXPECT_UNSUPPORTED(IsAudioEncryptionSchemeSupported(kExternalClearKey, ""));
+  EXPECT_UNSUPPORTED(IsVideoEncryptionSchemeSupported(kExternalClearKey, ""));
 }
 
 // External Clear Key is disabled by default.
@@ -1199,17 +1198,17 @@
   EXPECT_WV_SUCCESS(IsAudioEncryptionSchemeSupported(kWidevine, nullptr));
   EXPECT_WV_SUCCESS(IsAudioEncryptionSchemeSupported(kWidevine, "cenc"));
   EXPECT_WV_SUCCESS(IsAudioEncryptionSchemeSupported(kWidevine, "cbcs"));
+  EXPECT_WV_SUCCESS(IsAudioEncryptionSchemeSupported(kWidevine, "cbcs-1-9"));
   EXPECT_WV_SUCCESS(IsVideoEncryptionSchemeSupported(kWidevine, nullptr));
   EXPECT_WV_SUCCESS(IsVideoEncryptionSchemeSupported(kWidevine, "cenc"));
   EXPECT_WV_SUCCESS(IsVideoEncryptionSchemeSupported(kWidevine, "cbcs"));
+  EXPECT_WV_SUCCESS(IsVideoEncryptionSchemeSupported(kWidevine, "cbcs-1-9"));
 
-  // Invalid encryption schemes will be rejected. However, invalid values
-  // generate a TypeError (The provided value '...' is not a valid enum value
-  // of type EncryptionScheme), which is not handled by the test page.
-  EXPECT_TYPEERROR(IsAudioEncryptionSchemeSupported(kWidevine, "Invalid"));
-  EXPECT_TYPEERROR(IsVideoEncryptionSchemeSupported(kWidevine, "Invalid"));
-  EXPECT_TYPEERROR(IsAudioEncryptionSchemeSupported(kWidevine, ""));
-  EXPECT_TYPEERROR(IsVideoEncryptionSchemeSupported(kWidevine, ""));
+  // Invalid encryption schemes will be rejected.
+  EXPECT_UNSUPPORTED(IsAudioEncryptionSchemeSupported(kWidevine, "Invalid"));
+  EXPECT_UNSUPPORTED(IsVideoEncryptionSchemeSupported(kWidevine, "Invalid"));
+  EXPECT_UNSUPPORTED(IsAudioEncryptionSchemeSupported(kWidevine, ""));
+  EXPECT_UNSUPPORTED(IsVideoEncryptionSchemeSupported(kWidevine, ""));
 }
 
 //
@@ -1220,8 +1219,8 @@
 // - Linux/Mac/Windows: Feature media::kHardwareSecureDecryption is enabled, and
 // command line switch kOverrideHardwareSecureCodecsForTesting is used to always
 // enable vp8 and vp9, and disable avc1; always enable 'cenc' and disable
-// 'cbcs', for HW_SECURE* robustness levels. With the switch, real hardware
-// capabilities are not checked for the stability of tests.
+// 'cbcs'/'cbcs-1-9', for HW_SECURE* robustness levels. With the switch, real
+// hardware capabilities are not checked for the stability of tests.
 
 IN_PROC_BROWSER_TEST_F(EncryptedMediaSupportedTypesWidevineHwSecureTest,
                        Robustness) {
@@ -1297,8 +1296,10 @@
   // Both encryption schemes are supported when no robustness is specified.
   EXPECT_WV_SUCCESS(IsAudioEncryptionSchemeSupported(kWidevine, "cenc"));
   EXPECT_WV_SUCCESS(IsAudioEncryptionSchemeSupported(kWidevine, "cbcs"));
+  EXPECT_WV_SUCCESS(IsAudioEncryptionSchemeSupported(kWidevine, "cbcs-1-9"));
   EXPECT_WV_SUCCESS(IsVideoEncryptionSchemeSupported(kWidevine, "cenc"));
   EXPECT_WV_SUCCESS(IsVideoEncryptionSchemeSupported(kWidevine, "cbcs"));
+  EXPECT_WV_SUCCESS(IsVideoEncryptionSchemeSupported(kWidevine, "cbcs-1-9"));
 
   // Both encryption schemes are supported when SW_SECURE* robustness is
   // specified.
@@ -1306,10 +1307,14 @@
       IsAudioEncryptionSchemeSupported(kWidevine, "cenc", "SW_SECURE_CRYPTO"));
   EXPECT_WV_SUCCESS(
       IsAudioEncryptionSchemeSupported(kWidevine, "cbcs", "SW_SECURE_CRYPTO"));
+  EXPECT_WV_SUCCESS(IsAudioEncryptionSchemeSupported(kWidevine, "cbcs-1-9",
+                                                     "SW_SECURE_CRYPTO"));
   EXPECT_WV_SUCCESS(
       IsVideoEncryptionSchemeSupported(kWidevine, "cenc", "SW_SECURE_DECODE"));
   EXPECT_WV_SUCCESS(
       IsVideoEncryptionSchemeSupported(kWidevine, "cbcs", "SW_SECURE_DECODE"));
+  EXPECT_WV_SUCCESS(IsVideoEncryptionSchemeSupported(kWidevine, "cbcs-1-9",
+                                                     "SW_SECURE_DECODE"));
 
   // For HW_SECURE* robustness levels. 'cenc' is always supported. 'cbcs' is
   // supported on ChromeOS, but not on other platforms.
@@ -1320,13 +1325,21 @@
 #if defined(OS_CHROMEOS)
   EXPECT_WV_SUCCESS(
       IsAudioEncryptionSchemeSupported(kWidevine, "cbcs", "HW_SECURE_CRYPTO"));
+  EXPECT_WV_SUCCESS(IsAudioEncryptionSchemeSupported(kWidevine, "cbcs-1-9",
+                                                     "HW_SECURE_CRYPTO"));
   EXPECT_WV_SUCCESS(
       IsVideoEncryptionSchemeSupported(kWidevine, "cbcs", "HW_SECURE_ALL"));
+  EXPECT_WV_SUCCESS(
+      IsVideoEncryptionSchemeSupported(kWidevine, "cbcs-1-9", "HW_SECURE_ALL"));
 #else
   EXPECT_UNSUPPORTED(
       IsAudioEncryptionSchemeSupported(kWidevine, "cbcs", "HW_SECURE_CRYPTO"));
+  EXPECT_UNSUPPORTED(IsAudioEncryptionSchemeSupported(kWidevine, "cbcs-1-9",
+                                                      "HW_SECURE_CRYPTO"));
   EXPECT_UNSUPPORTED(
       IsVideoEncryptionSchemeSupported(kWidevine, "cbcs", "HW_SECURE_ALL"));
+  EXPECT_UNSUPPORTED(
+      IsVideoEncryptionSchemeSupported(kWidevine, "cbcs-1-9", "HW_SECURE_ALL"));
 #endif
 }
 
diff --git a/chrome/browser/page_load_metrics/observers/previews_ukm_observer.cc b/chrome/browser/page_load_metrics/observers/previews_ukm_observer.cc
index deb569d..0774bc7 100644
--- a/chrome/browser/page_load_metrics/observers/previews_ukm_observer.cc
+++ b/chrome/browser/page_load_metrics/observers/previews_ukm_observer.cc
@@ -118,11 +118,6 @@
   if (previews_user_data->cache_control_no_transform_directive()) {
     origin_opt_out_occurred_ = true;
   }
-  if (previews_user_data->server_lite_page_info()) {
-    navigation_restart_penalty_ =
-        navigation_handle->NavigationStart() -
-        previews_user_data->server_lite_page_info()->original_navigation_start;
-  }
 
   lite_page_eligibility_reason_ =
       previews_user_data->EligibilityReasonForPreview(
@@ -202,13 +197,10 @@
       page_load_metrics::PageEndReason::PAGE_END_REASON_COUNT);
 
   // Only record previews types when they are active.
-  // |navigation_restart_penalty_| is included here because a Lite Page Redirect
-  // preview can be attempted and not commit. This incurs the penalty but may
-  // also cause no preview to be committed.
   if (!lite_page_seen_ && !noscript_seen_ && !resource_loading_hints_seen_ &&
       !defer_all_script_seen_ && !offline_preview_seen_ &&
       !origin_opt_out_occurred_ && !save_data_enabled_ &&
-      !lite_page_redirect_seen_ && !navigation_restart_penalty_.has_value()) {
+      !lite_page_redirect_seen_) {
     return;
   }
 
@@ -235,10 +227,6 @@
     builder.Setsave_data_enabled(1);
   if (previews_likely_)
     builder.Setpreviews_likely(1);
-  if (navigation_restart_penalty_.has_value()) {
-    builder.Setnavigation_restart_penalty(
-        navigation_restart_penalty_->InMilliseconds());
-  }
 
   if (ShouldOptionalEligibilityReasonBeRecorded(
           lite_page_eligibility_reason_)) {
diff --git a/chrome/browser/page_load_metrics/observers/previews_ukm_observer.h b/chrome/browser/page_load_metrics/observers/previews_ukm_observer.h
index f06ae57..e21e34d 100644
--- a/chrome/browser/page_load_metrics/observers/previews_ukm_observer.h
+++ b/chrome/browser/page_load_metrics/observers/previews_ukm_observer.h
@@ -82,7 +82,6 @@
       defer_all_script_eligibility_reason_;
   base::Optional<previews::PreviewsEligibilityReason>
       offline_eligibility_reason_;
-  base::Optional<base::TimeDelta> navigation_restart_penalty_;
 
   SEQUENCE_CHECKER(sequence_checker_);
 
diff --git a/chrome/browser/page_load_metrics/observers/previews_ukm_observer_unittest.cc b/chrome/browser/page_load_metrics/observers/previews_ukm_observer_unittest.cc
index daac776..112810a 100644
--- a/chrome/browser/page_load_metrics/observers/previews_ukm_observer_unittest.cc
+++ b/chrome/browser/page_load_metrics/observers/previews_ukm_observer_unittest.cc
@@ -49,14 +49,12 @@
       bool origin_opt_out_received,
       bool save_data_enabled,
       std::unordered_map<PreviewsType, PreviewsEligibilityReason>
-          eligibility_reasons,
-      base::Optional<base::TimeDelta> navigation_restart_penalty)
+          eligibility_reasons)
       : committed_state_(committed_state),
         allowed_state_(allowed_state),
         origin_opt_out_received_(origin_opt_out_received),
         save_data_enabled_(save_data_enabled),
-        eligibility_reasons_(eligibility_reasons),
-        navigation_restart_penalty_(navigation_restart_penalty) {}
+        eligibility_reasons_(eligibility_reasons) {}
 
   ~TestPreviewsUKMObserver() override {}
 
@@ -74,14 +72,6 @@
     user_data->SetCommittedPreviewsTypeForTesting(
         previews::GetMainFramePreviewsType(committed_state_));
 
-    if (navigation_restart_penalty_.has_value()) {
-      user_data->set_server_lite_page_info(
-          std::make_unique<previews::PreviewsUserData::ServerLitePageInfo>());
-      user_data->server_lite_page_info()->original_navigation_start =
-          navigation_handle->NavigationStart() -
-          navigation_restart_penalty_.value();
-    }
-
     if (origin_opt_out_received_) {
       user_data->set_cache_control_no_transform_directive();
     }
@@ -110,7 +100,6 @@
   const bool save_data_enabled_;
   std::unordered_map<PreviewsType, PreviewsEligibilityReason>
       eligibility_reasons_;
-  base::Optional<base::TimeDelta> navigation_restart_penalty_;
 
   DISALLOW_COPY_AND_ASSIGN(TestPreviewsUKMObserver);
 };
@@ -126,14 +115,12 @@
                bool origin_opt_out,
                bool save_data_enabled,
                std::unordered_map<PreviewsType, PreviewsEligibilityReason>
-                   eligibility_reasons,
-               base::Optional<base::TimeDelta> navigation_restart_penalty) {
+                   eligibility_reasons) {
     committed_state_ = committed_state;
     allowed_state_ = allowed_state;
     origin_opt_out_ = origin_opt_out;
     save_data_enabled_ = save_data_enabled;
     eligibility_reasons_ = eligibility_reasons;
-    navigation_restart_penalty_ = navigation_restart_penalty;
     auto navigation = content::NavigationSimulator::CreateBrowserInitiated(
         GURL(kDefaultTestUrl), web_contents());
     if (committed_state == content::OFFLINE_PAGE_ON)
@@ -149,14 +136,13 @@
       bool save_data_enabled_expected,
       bool previews_likely_expected,
       std::unordered_map<PreviewsType, PreviewsEligibilityReason>
-          eligibility_reasons,
-      base::Optional<base::TimeDelta> navigation_restart_penalty) {
+          eligibility_reasons) {
     using UkmEntry = ukm::builders::Previews;
     auto entries =
         tester()->test_ukm_recorder().GetEntriesByName(UkmEntry::kEntryName);
     if (expected_recorded_previews == 0 && opt_out_value == 0 &&
         !origin_opt_out_expected && !save_data_enabled_expected &&
-        !previews_likely_expected && !navigation_restart_penalty.has_value()) {
+        !previews_likely_expected) {
       EXPECT_EQ(0u, entries.size());
       return;
     }
@@ -205,11 +191,6 @@
     EXPECT_EQ(previews_likely_expected,
               tester()->test_ukm_recorder().EntryHasMetric(
                   entry, UkmEntry::kpreviews_likelyName));
-    if (navigation_restart_penalty.has_value()) {
-      tester()->test_ukm_recorder().ExpectEntryMetric(
-          entry, UkmEntry::knavigation_restart_penaltyName,
-          navigation_restart_penalty.value().InMilliseconds());
-    }
 
     int want_lite_page_eligibility_reason =
         static_cast<int>(eligibility_reasons[PreviewsType::LITE_PAGE]);
@@ -276,13 +257,12 @@
   void RegisterObservers(page_load_metrics::PageLoadTracker* tracker) override {
     tracker->AddObserver(std::make_unique<TestPreviewsUKMObserver>(
         committed_state_, allowed_state_, origin_opt_out_, save_data_enabled_,
-        eligibility_reasons_, navigation_restart_penalty_));
+        eligibility_reasons_));
     // Data is only added to the first navigation after RunTest().
     committed_state_ = content::PREVIEWS_OFF;
     allowed_state_ = content::PREVIEWS_OFF;
     origin_opt_out_ = false;
     eligibility_reasons_.clear();
-    navigation_restart_penalty_ = base::nullopt;
   }
 
  private:
@@ -292,7 +272,6 @@
   bool save_data_enabled_ = false;
   std::unordered_map<PreviewsType, PreviewsEligibilityReason>
       eligibility_reasons_ = {};
-  base::Optional<base::TimeDelta> navigation_restart_penalty_ = base::nullopt;
 
   DISALLOW_COPY_AND_ASSIGN(PreviewsUKMObserverTest);
 };
@@ -301,23 +280,21 @@
   RunTest(content::PREVIEWS_OFF /* committed_state */,
           content::PREVIEWS_UNSPECIFIED /* allowed_state */,
           false /* origin_opt_out */, false /* save_data_enabled */,
-          {} /* eligibility_reasons */,
-          base::nullopt /* navigation_restart_penalty */);
+          {} /* eligibility_reasons */);
   tester()->NavigateToUntrackedUrl();
 
   ValidatePreviewsUKM(content::PREVIEWS_UNSPECIFIED, 0 /* opt_out_value */,
                       false /* origin_opt_out_expected */,
                       false /* save_data_enabled_expected */,
-                      false /* previews_likely */, {} /* eligibility_reasons */,
-                      base::nullopt /* navigation_restart_penalty */);
+                      false /* previews_likely */,
+                      {} /* eligibility_reasons */);
 }
 
 TEST_F(PreviewsUKMObserverTest, UntrackedPreviewTypeOptOut) {
   RunTest(content::PREVIEWS_OFF /* committed_state */,
           content::PREVIEWS_UNSPECIFIED /* allowed_state */,
           false /* origin_opt_out */, false /* save_data_enabled */,
-          {} /* eligibility_reasons */,
-          base::nullopt /* navigation_restart_penalty */);
+          {} /* eligibility_reasons */);
   tester()->metrics_web_contents_observer()->BroadcastEventToObservers(
       PreviewsUITabHelper::OptOutEventKey());
   tester()->NavigateToUntrackedUrl();
@@ -326,8 +303,8 @@
   ValidatePreviewsUKM(content::PREVIEWS_UNSPECIFIED, 0 /* opt_out_value */,
                       false /* origin_opt_out_expected */,
                       false /* save_data_enabled_expected */,
-                      false /* previews_likely */, {} /* eligibility_reasons */,
-                      base::nullopt /* navigation_restart_penalty */);
+                      false /* previews_likely */,
+                      {} /* eligibility_reasons */);
 }
 
 TEST_F(PreviewsUKMObserverTest, LitePageSeen) {
@@ -335,24 +312,21 @@
           content::SERVER_LITE_PAGE_ON |
               content::DEFER_ALL_SCRIPT_ON /* allowed_state */,
           false /* origin_opt_out */, false /* save_data_enabled */,
-          {} /* eligibility_reasons */,
-          base::nullopt /* navigation_restart_penalty */);
+          {} /* eligibility_reasons */);
 
   tester()->NavigateToUntrackedUrl();
 
   ValidatePreviewsUKM(content::SERVER_LITE_PAGE_ON, 0 /* opt_out_value */,
                       false /* origin_opt_out_expected */,
                       false /* save_data_enabled_expected */,
-                      true /* previews_likely */, {} /* eligibility_reasons */,
-                      base::nullopt /* navigation_restart_penalty */);
+                      true /* previews_likely */, {} /* eligibility_reasons */);
 }
 
 TEST_F(PreviewsUKMObserverTest, LitePageOptOutChip) {
   RunTest(content::SERVER_LITE_PAGE_ON /* committed_state */,
           content::SERVER_LITE_PAGE_ON /* allowed_state */,
           false /* origin_opt_out */, false /* save_data_enabled */,
-          {} /* eligibility_reasons */,
-          base::nullopt /* navigation_restart_penalty */);
+          {} /* eligibility_reasons */);
 
   tester()->metrics_web_contents_observer()->BroadcastEventToObservers(
       PreviewsUITabHelper::OptOutEventKey());
@@ -361,8 +335,7 @@
   ValidatePreviewsUKM(content::SERVER_LITE_PAGE_ON, 2 /* opt_out_value */,
                       false /* origin_opt_out_expected */,
                       false /* save_data_enabled_expected */,
-                      true /* previews_likely */, {} /* eligibility_reasons */,
-                      base::nullopt /* navigation_restart_penalty */);
+                      true /* previews_likely */, {} /* eligibility_reasons */);
 }
 
 TEST_F(PreviewsUKMObserverTest, LitePageRedirectSeen) {
@@ -370,24 +343,21 @@
           content::LITE_PAGE_REDIRECT_ON |
               content::OFFLINE_PAGE_ON /* allowed_state */,
           false /* origin_opt_out */, false /* save_data_enabled */,
-          {} /* eligibility_reasons */,
-          base::nullopt /* navigation_restart_penalty */);
+          {} /* eligibility_reasons */);
 
   tester()->NavigateToUntrackedUrl();
 
   ValidatePreviewsUKM(content::LITE_PAGE_REDIRECT_ON, 0 /* opt_out_value */,
                       false /* origin_opt_out_expected */,
                       false /* save_data_enabled_expected */,
-                      true /* previews_likely */, {} /* eligibility_reasons */,
-                      base::nullopt /* navigation_restart_penalty */);
+                      true /* previews_likely */, {} /* eligibility_reasons */);
 }
 
 TEST_F(PreviewsUKMObserverTest, LitePageRedirectOptOutChip) {
   RunTest(content::LITE_PAGE_REDIRECT_ON /* committed_state */,
           content::LITE_PAGE_REDIRECT_ON /* allowed_state */,
           false /* origin_opt_out */, false /* save_data_enabled */,
-          {} /* eligibility_reasons */,
-          base::nullopt /* navigation_restart_penalty */);
+          {} /* eligibility_reasons */);
 
   tester()->metrics_web_contents_observer()->BroadcastEventToObservers(
       PreviewsUITabHelper::OptOutEventKey());
@@ -396,16 +366,14 @@
   ValidatePreviewsUKM(content::LITE_PAGE_REDIRECT_ON, 2 /* opt_out_value */,
                       false /* origin_opt_out_expected */,
                       false /* save_data_enabled_expected */,
-                      true /* previews_likely */, {} /* eligibility_reasons */,
-                      base::nullopt /* navigation_restart_penalty */);
+                      true /* previews_likely */, {} /* eligibility_reasons */);
 }
 
 TEST_F(PreviewsUKMObserverTest, NoScriptOptOutChip) {
   RunTest(content::NOSCRIPT_ON /* committed_state */,
           content::PREVIEWS_UNSPECIFIED /* allowed_state */,
           false /* origin_opt_out */, false /* save_data_enabled */,
-          {} /* eligibility_reasons */,
-          base::nullopt /* navigation_restart_penalty */);
+          {} /* eligibility_reasons */);
 
   tester()->metrics_web_contents_observer()->BroadcastEventToObservers(
       PreviewsUITabHelper::OptOutEventKey());
@@ -414,48 +382,42 @@
   ValidatePreviewsUKM(content::NOSCRIPT_ON, 2 /* opt_out_value */,
                       false /* origin_opt_out_expected */,
                       false /* save_data_enabled_expected */,
-                      true /* previews_likely */, {} /* eligibility_reasons */,
-                      base::nullopt /* navigation_restart_penalty */);
+                      true /* previews_likely */, {} /* eligibility_reasons */);
 }
 
 TEST_F(PreviewsUKMObserverTest, OfflinePreviewsSeen) {
   RunTest(content::OFFLINE_PAGE_ON /* committed_state */,
           content::PREVIEWS_UNSPECIFIED /* allowed_state */,
           false /* origin_opt_out */, false /* save_data_enabled */,
-          {} /* eligibility_reasons */,
-          base::nullopt /* navigation_restart_penalty */);
+          {} /* eligibility_reasons */);
 
   tester()->NavigateToUntrackedUrl();
 
   ValidatePreviewsUKM(content::OFFLINE_PAGE_ON, 0 /* opt_out_value */,
                       false /* origin_opt_out_expected */,
                       false /* save_data_enabled_expected */,
-                      true /* previews_likely */, {} /* eligibility_reasons */,
-                      base::nullopt /* navigation_restart_penalty */);
+                      true /* previews_likely */, {} /* eligibility_reasons */);
 }
 
 TEST_F(PreviewsUKMObserverTest, ResourceLoadingHintsSeen) {
   RunTest(content::RESOURCE_LOADING_HINTS_ON /* committed_state */,
           content::PREVIEWS_UNSPECIFIED /* allowed_state */,
           false /* origin_opt_out */, false /* save_data_enabled */,
-          {} /* eligibility_reasons */,
-          base::nullopt /* navigation_restart_penalty */);
+          {} /* eligibility_reasons */);
 
   tester()->NavigateToUntrackedUrl();
 
   ValidatePreviewsUKM(content::RESOURCE_LOADING_HINTS_ON, 0 /* opt_out_value */,
                       false /* origin_opt_out_expected */,
                       false /* save_data_enabled_expected */,
-                      true /* previews_likely */, {} /* eligibility_reasons */,
-                      base::nullopt /* navigation_restart_penalty */);
+                      true /* previews_likely */, {} /* eligibility_reasons */);
 }
 
 TEST_F(PreviewsUKMObserverTest, ResourceLoadingHintsOptOutChip) {
   RunTest(content::RESOURCE_LOADING_HINTS_ON /* committed_state */,
           content::PREVIEWS_UNSPECIFIED /* allowed_state */,
           false /* origin_opt_out */, false /* save_data_enabled */,
-          {} /* eligibility_reasons */,
-          base::nullopt /* navigation_restart_penalty */);
+          {} /* eligibility_reasons */);
 
   tester()->metrics_web_contents_observer()->BroadcastEventToObservers(
       PreviewsUITabHelper::OptOutEventKey());
@@ -464,32 +426,28 @@
   ValidatePreviewsUKM(content::RESOURCE_LOADING_HINTS_ON, 2 /* opt_out_value */,
                       false /* origin_opt_out_expected */,
                       false /* save_data_enabled_expected */,
-                      true /* previews_likely */, {} /* eligibility_reasons */,
-                      base::nullopt /* navigation_restart_penalty */);
+                      true /* previews_likely */, {} /* eligibility_reasons */);
 }
 
 TEST_F(PreviewsUKMObserverTest, DeferAllScriptSeen) {
   RunTest(content::DEFER_ALL_SCRIPT_ON /* committed_state */,
           content::PREVIEWS_UNSPECIFIED /* allowed_state */,
           false /* origin_opt_out */, false /* save_data_enabled */,
-          {} /* eligibility_reasons */,
-          base::nullopt /* navigation_restart_penalty */);
+          {} /* eligibility_reasons */);
 
   tester()->NavigateToUntrackedUrl();
 
   ValidatePreviewsUKM(content::DEFER_ALL_SCRIPT_ON, 0 /* opt_out_value */,
                       false /* origin_opt_out_expected */,
                       false /* save_data_enabled_expected */,
-                      true /* previews_likely */, {} /* eligibility_reasons */,
-                      base::nullopt /* navigation_restart_penalty */);
+                      true /* previews_likely */, {} /* eligibility_reasons */);
 }
 
 TEST_F(PreviewsUKMObserverTest, DeferAllScriptOptOutChip) {
   RunTest(content::DEFER_ALL_SCRIPT_ON /* committed_state */,
           content::PREVIEWS_UNSPECIFIED /* allowed_state */,
           false /* origin_opt_out */, false /* save_data_enabled */,
-          {} /* eligibility_reasons */,
-          base::nullopt /* navigation_restart_penalty */);
+          {} /* eligibility_reasons */);
 
   tester()->metrics_web_contents_observer()->BroadcastEventToObservers(
       PreviewsUITabHelper::OptOutEventKey());
@@ -498,138 +456,107 @@
   ValidatePreviewsUKM(content::DEFER_ALL_SCRIPT_ON, 2 /* opt_out_value */,
                       false /* origin_opt_out_expected */,
                       false /* save_data_enabled_expected */,
-                      true /* previews_likely */, {} /* eligibility_reasons */,
-                      base::nullopt /* navigation_restart_penalty */);
+                      true /* previews_likely */, {} /* eligibility_reasons */);
 }
 
 TEST_F(PreviewsUKMObserverTest, OriginOptOut) {
   RunTest(content::PREVIEWS_OFF /* committed_state */,
           content::PREVIEWS_UNSPECIFIED /* allowed_state */,
           true /* origin_opt_out */, false /* save_data_enabled */,
-          {} /* eligibility_reasons */,
-          base::nullopt /* navigation_restart_penalty */);
+          {} /* eligibility_reasons */);
 
   tester()->NavigateToUntrackedUrl();
 
   ValidatePreviewsUKM(content::PREVIEWS_UNSPECIFIED, 0 /* opt_out_value */,
                       true /* origin_opt_out_expected */,
                       false /* save_data_enabled_expected */,
-                      false /* previews_likely */, {} /* eligibility_reasons */,
-                      base::nullopt /* navigation_restart_penalty */);
+                      false /* previews_likely */,
+                      {} /* eligibility_reasons */);
 }
 
 TEST_F(PreviewsUKMObserverTest, DataSaverEnabled) {
   RunTest(content::PREVIEWS_OFF /* committed_state */,
           content::PREVIEWS_UNSPECIFIED /* allowed_state */,
           false /* origin_opt_out */, true /* save_data_enabled */,
-          {} /* eligibility_reasons */,
-          base::nullopt /* navigation_restart_penalty */);
+          {} /* eligibility_reasons */);
 
   tester()->NavigateToUntrackedUrl();
 
   ValidatePreviewsUKM(content::PREVIEWS_UNSPECIFIED, 0 /* opt_out_value */,
                       false /* origin_opt_out_expected */,
                       true /* save_data_enabled_expected */,
-                      false /* previews_likely */, {} /* eligibility_reasons */,
-                      base::nullopt /* navigation_restart_penalty */);
-}
-
-// Navigation restart penalty can occur independently of a preview being
-// committed so we do not consider the opt out tests here.
-TEST_F(PreviewsUKMObserverTest, NavigationRestartPenaltySeen) {
-  RunTest(
-      content::PREVIEWS_OFF /* committed_state */,
-      content::PREVIEWS_UNSPECIFIED /* allowed_state */,
-      false /* origin_opt_out */, false /* save_data_enabled */,
-      {} /* eligibility_reasons */,
-      base::TimeDelta::FromMilliseconds(1337) /* navigation_restart_penalty */);
-
-  tester()->NavigateToUntrackedUrl();
-
-  ValidatePreviewsUKM(
-      content::PREVIEWS_UNSPECIFIED, 0 /* opt_out_value */,
-      false /* origin_opt_out_expected */,
-      false /* save_data_enabled_expected */, false /* previews_likely */,
-      {} /* eligibility_reasons */,
-      base::TimeDelta::FromMilliseconds(1337) /* navigation_restart_penalty */);
+                      false /* previews_likely */,
+                      {} /* eligibility_reasons */);
 }
 
 TEST_F(PreviewsUKMObserverTest, PreviewsLikelySet_PreCommitDecision) {
   RunTest(content::OFFLINE_PAGE_ON /* committed_state */,
           content::OFFLINE_PAGE_ON | content::NOSCRIPT_ON /* allowed_state */,
           false /* origin_opt_out */, true /* save_data_enabled */,
-          {} /* eligibility_reasons */,
-          base::nullopt /* navigation_restart_penalty */);
+          {} /* eligibility_reasons */);
 
   tester()->NavigateToUntrackedUrl();
 
   ValidatePreviewsUKM(content::OFFLINE_PAGE_ON, 0 /* opt_out_value */,
                       false /* origin_opt_out_expected */,
                       true /* save_data_enabled_expected */,
-                      true /* previews_likely */, {} /* eligibility_reasons */,
-                      base::nullopt /* navigation_restart_penalty */);
+                      true /* previews_likely */, {} /* eligibility_reasons */);
 }
 
 TEST_F(PreviewsUKMObserverTest, PreviewsLikelyNotSet_PostCommitDecision) {
   RunTest(content::PREVIEWS_OFF /* committed_state */,
           content::NOSCRIPT_ON /* allowed_state */, false /* origin_opt_out */,
-          true /* save_data_enabled */, {} /* eligibility_reasons */,
-          base::nullopt /* navigation_restart_penalty */);
+          true /* save_data_enabled */, {} /* eligibility_reasons */);
 
   tester()->NavigateToUntrackedUrl();
 
   ValidatePreviewsUKM(content::PREVIEWS_UNSPECIFIED, 0 /* opt_out_value */,
                       false /* origin_opt_out_expected */,
                       true /* save_data_enabled_expected */,
-                      false /* previews_likely */, {} /* eligibility_reasons */,
-                      base::nullopt /* navigation_restart_penalty */);
+                      false /* previews_likely */,
+                      {} /* eligibility_reasons */);
 }
 
 TEST_F(PreviewsUKMObserverTest, PreviewsLikelyNotSet_PreviewsOff) {
   RunTest(content::PREVIEWS_OFF /* committed_state */,
           content::PREVIEWS_OFF /* allowed_state */, false /* origin_opt_out */,
-          true /* save_data_enabled */, {} /* eligibility_reasons */,
-          base::nullopt /* navigation_restart_penalty */);
+          true /* save_data_enabled */, {} /* eligibility_reasons */);
 
   tester()->NavigateToUntrackedUrl();
 
   ValidatePreviewsUKM(content::PREVIEWS_UNSPECIFIED, 0 /* opt_out_value */,
                       false /* origin_opt_out_expected */,
                       true /* save_data_enabled_expected */,
-                      false /* previews_likely */, {} /* eligibility_reasons */,
-                      base::nullopt /* navigation_restart_penalty */);
+                      false /* previews_likely */,
+                      {} /* eligibility_reasons */);
 }
 
 TEST_F(PreviewsUKMObserverTest, CoinFlipResult_Holdback) {
   RunTest(content::OFFLINE_PAGE_ON /* committed_state */,
           content::OFFLINE_PAGE_ON /* allowed_state */,
           false /* origin_opt_out */, true /* save_data_enabled */,
-          {} /* eligibility_reasons */,
-          base::nullopt /* navigation_restart_penalty */);
+          {} /* eligibility_reasons */);
 
   tester()->NavigateToUntrackedUrl();
 
   ValidatePreviewsUKM(content::OFFLINE_PAGE_ON, 0 /* opt_out_value */,
                       false /* origin_opt_out_expected */,
                       true /* save_data_enabled_expected */,
-                      true /* previews_likely */, {} /* eligibility_reasons */,
-                      base::nullopt /* navigation_restart_penalty */);
+                      true /* previews_likely */, {} /* eligibility_reasons */);
 }
 
 TEST_F(PreviewsUKMObserverTest, CoinFlipResult_Allowed) {
   RunTest(content::OFFLINE_PAGE_ON /* committed_state */,
           content::OFFLINE_PAGE_ON /* allowed_state */,
           false /* origin_opt_out */, true /* save_data_enabled */,
-          {} /* eligibility_reasons */,
-          base::nullopt /* navigation_restart_penalty */);
+          {} /* eligibility_reasons */);
 
   tester()->NavigateToUntrackedUrl();
 
   ValidatePreviewsUKM(content::OFFLINE_PAGE_ON, 0 /* opt_out_value */,
                       false /* origin_opt_out_expected */,
                       true /* save_data_enabled_expected */,
-                      true /* previews_likely */, {} /* eligibility_reasons */,
-                      base::nullopt /* navigation_restart_penalty */);
+                      true /* previews_likely */, {} /* eligibility_reasons */);
 }
 
 TEST_F(PreviewsUKMObserverTest, LogPreviewsEligibilityReason_WithAllowed) {
@@ -645,8 +572,7 @@
             PreviewsEligibilityReason::BLACKLIST_DATA_NOT_LOADED},
            // ALLOWED is equal to zero and should not be recorded.
            {PreviewsType::LITE_PAGE_REDIRECT,
-            PreviewsEligibilityReason::ALLOWED}} /* eligibility_reasons */,
-          base::nullopt /* navigation_restart_penalty */);
+            PreviewsEligibilityReason::ALLOWED}} /* eligibility_reasons */);
 
   tester()->NavigateToUntrackedUrl();
 
@@ -660,8 +586,7 @@
         PreviewsEligibilityReason::BLACKLIST_UNAVAILABLE},
        {PreviewsType::NOSCRIPT,
         PreviewsEligibilityReason::
-            BLACKLIST_DATA_NOT_LOADED}} /* eligibility_reasons */,
-      base::nullopt /* navigation_restart_penalty */);
+            BLACKLIST_DATA_NOT_LOADED}} /* eligibility_reasons */);
 }
 
 TEST_F(PreviewsUKMObserverTest, LogPreviewsEligibilityReason_NoneAllowed) {
@@ -677,8 +602,7 @@
             PreviewsEligibilityReason::BLACKLIST_DATA_NOT_LOADED},
            {PreviewsType::LITE_PAGE_REDIRECT,
             PreviewsEligibilityReason::
-                BLACKLIST_DATA_NOT_LOADED}} /* eligibility_reasons */,
-          base::nullopt /* navigation_restart_penalty */);
+                BLACKLIST_DATA_NOT_LOADED}} /* eligibility_reasons */);
 
   tester()->NavigateToUntrackedUrl();
 
@@ -694,40 +618,37 @@
         PreviewsEligibilityReason::BLACKLIST_DATA_NOT_LOADED},
        {PreviewsType::LITE_PAGE_REDIRECT,
         PreviewsEligibilityReason::
-            BLACKLIST_DATA_NOT_LOADED}} /* eligibility_reasons */,
-      base::nullopt /* navigation_restart_penalty */);
+            BLACKLIST_DATA_NOT_LOADED}} /* eligibility_reasons */);
 }
 
 TEST_F(PreviewsUKMObserverTest, CheckReportingForHidden) {
   RunTest(content::PREVIEWS_OFF /* committed_state */,
           content::PREVIEWS_UNSPECIFIED /* allowed_state */,
           false /* origin_opt_out */, true /* save_data_enabled */,
-          {} /* eligibility_reasons */,
-          base::nullopt /* navigation_restart_penalty */);
+          {} /* eligibility_reasons */);
 
   web_contents()->WasHidden();
 
   ValidatePreviewsUKM(content::PREVIEWS_UNSPECIFIED, 0 /* opt_out_value */,
                       false /* origin_opt_out_expected */,
                       true /* save_data_enabled_expected */,
-                      false /* previews_likely */, {} /* eligibility_reasons */,
-                      base::nullopt /* navigation_restart_penalty */);
+                      false /* previews_likely */,
+                      {} /* eligibility_reasons */);
 }
 
 TEST_F(PreviewsUKMObserverTest, CheckReportingForFlushMetrics) {
   RunTest(content::PREVIEWS_OFF /* committed_state */,
           content::PREVIEWS_UNSPECIFIED /* allowed_state */,
           false /* origin_opt_out */, true /* save_data_enabled */,
-          {} /* eligibility_reasons */,
-          base::nullopt /* navigation_restart_penalty */);
+          {} /* eligibility_reasons */);
 
   tester()->SimulateAppEnterBackground();
 
   ValidatePreviewsUKM(content::PREVIEWS_UNSPECIFIED, 0 /* opt_out_value */,
                       false /* origin_opt_out_expected */,
                       true /* save_data_enabled_expected */,
-                      false /* previews_likely */, {} /* eligibility_reasons */,
-                      base::nullopt /* navigation_restart_penalty */);
+                      false /* previews_likely */,
+                      {} /* eligibility_reasons */);
 }
 
 TEST_F(PreviewsUKMObserverTest, TestPageEndReasonUMA) {
@@ -737,8 +658,7 @@
   RunTest(content::PREVIEWS_OFF /* committed_state */,
           content::PREVIEWS_UNSPECIFIED /* allowed_state */,
           false /* origin_opt_out */, false /* save_data_enabled */,
-          {} /* eligibility_reasons */,
-          base::nullopt /* navigation_restart_penalty */);
+          {} /* eligibility_reasons */);
   tester()->NavigateToUntrackedUrl();
   histogram_tester.ExpectUniqueSample(
       "Previews.PageEndReason.None",
@@ -750,8 +670,7 @@
   RunTest(content::LITE_PAGE_REDIRECT_ON /* committed_state */,
           content::PREVIEWS_UNSPECIFIED /* allowed_state */,
           false /* origin_opt_out */, false /* save_data_enabled */,
-          {} /* eligibility_reasons */,
-          base::nullopt /* navigation_restart_penalty */);
+          {} /* eligibility_reasons */);
   tester()->NavigateToUntrackedUrl();
   histogram_tester.ExpectUniqueSample(
       "Previews.PageEndReason.LitePageRedirect",
@@ -764,8 +683,7 @@
   RunTest(content::DEFER_ALL_SCRIPT_ON /* committed_state */,
           content::PREVIEWS_UNSPECIFIED /* allowed_state */,
           false /* origin_opt_out */, false /* save_data_enabled */,
-          {} /* eligibility_reasons */,
-          base::nullopt /* navigation_restart_penalty */);
+          {} /* eligibility_reasons */);
   tester()->NavigateToUntrackedUrl();
   histogram_tester.ExpectUniqueSample(
       "Previews.PageEndReason.DeferAllScript",
diff --git a/chrome/browser/policy/configuration_policy_handler_list_factory.cc b/chrome/browser/policy/configuration_policy_handler_list_factory.cc
index c167871..ad9eabb2 100644
--- a/chrome/browser/policy/configuration_policy_handler_list_factory.cc
+++ b/chrome/browser/policy/configuration_policy_handler_list_factory.cc
@@ -701,6 +701,9 @@
   { key::kDeviceLoginScreenDefaultVirtualKeyboardEnabled,
     nullptr,
     base::Value::Type::BOOLEAN },
+  { key::kDeviceLoginScreenAccessibilityShortcutsEnabled,
+    nullptr,
+    base::Value::Type::BOOLEAN },
   { key::kDeviceLoginScreenVirtualKeyboardEnabled,
     nullptr,
     base::Value::Type::BOOLEAN },
diff --git a/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java b/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java
index 0c66b74..d28498b 100644
--- a/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java
+++ b/chrome/browser/preferences/android/java/src/org/chromium/chrome/browser/preferences/ChromePreferenceKeys.java
@@ -416,6 +416,13 @@
      */
     public static final String LATEST_UNSUPPORTED_VERSION = "android_os_unsupported_chrome_version";
 
+    public static final String LOCALE_MANAGER_AUTO_SWITCH = "LocaleManager_PREF_AUTO_SWITCH";
+    public static final String LOCALE_MANAGER_PROMO_SHOWN = "LocaleManager_PREF_PROMO_SHOWN";
+    public static final String LOCALE_MANAGER_SEARCH_ENGINE_PROMO_SHOW_STATE =
+            "com.android.chrome.SEARCH_ENGINE_PROMO_SHOWN";
+    public static final String LOCALE_MANAGER_WAS_IN_SPECIAL_LOCALE =
+            "LocaleManager_WAS_IN_SPECIAL_LOCALE";
+
     /**
      * Key to cache whether offline indicator v2 (persistent offline indicator) is enabled.
      */
@@ -718,6 +725,10 @@
                 INCOGNITO_SHORTCUT_ADDED,
                 INVALIDATIONS_UUID_PREF_KEY,
                 LATEST_UNSUPPORTED_VERSION,
+                LOCALE_MANAGER_AUTO_SWITCH,
+                LOCALE_MANAGER_PROMO_SHOWN,
+                LOCALE_MANAGER_SEARCH_ENGINE_PROMO_SHOW_STATE,
+                LOCALE_MANAGER_WAS_IN_SPECIAL_LOCALE,
                 OFFLINE_INDICATOR_V2_ENABLED,
                 PRIVACY_ALLOW_PRERENDER_OLD,
                 PRIVACY_BANDWIDTH_NO_CELLULAR_OLD,
diff --git a/chrome/browser/prerender/isolated/isolated_prerender_url_loader_interceptor_unittest.cc b/chrome/browser/prerender/isolated/isolated_prerender_url_loader_interceptor_unittest.cc
index 6f164eb..7f44389 100644
--- a/chrome/browser/prerender/isolated/isolated_prerender_url_loader_interceptor_unittest.cc
+++ b/chrome/browser/prerender/isolated/isolated_prerender_url_loader_interceptor_unittest.cc
@@ -12,6 +12,7 @@
 #include "chrome/browser/prerender/prerender_handle.h"
 #include "chrome/browser/prerender/prerender_manager.h"
 #include "chrome/browser/prerender/prerender_manager_factory.h"
+#include "chrome/common/chrome_features.h"
 #include "chrome/test/base/chrome_render_view_host_test_harness.h"
 #include "content/public/browser/web_contents.h"
 #include "content/public/common/resource_type.h"
@@ -23,8 +24,6 @@
 const gfx::Size kSize(640, 480);
 const GURL kTestUrl("https://test.com/path");
 
-const base::Feature kIsolatePrerenders{"IsolatePrerenders",
-                                       base::FEATURE_DISABLED_BY_DEFAULT};
 }  // namespace
 
 // These tests leak mojo objects (like the IsolatedPrerenderURLLoader) because
@@ -88,7 +87,7 @@
 
 TEST_F(IsolatedPrerenderURLLoaderInterceptorTest, DISABLE_ASAN(WantIntercept)) {
   base::test::ScopedFeatureList scoped_feature_list;
-  scoped_feature_list.InitAndEnableFeature(kIsolatePrerenders);
+  scoped_feature_list.InitAndEnableFeature(features::kIsolatePrerenders);
 
   std::unique_ptr<prerender::PrerenderHandle> handle = StartPrerender(kTestUrl);
 
@@ -117,7 +116,7 @@
 
 TEST_F(IsolatedPrerenderURLLoaderInterceptorTest, DISABLE_ASAN(FeatureOff)) {
   base::test::ScopedFeatureList scoped_feature_list;
-  scoped_feature_list.InitAndDisableFeature(kIsolatePrerenders);
+  scoped_feature_list.InitAndDisableFeature(features::kIsolatePrerenders);
 
   std::unique_ptr<prerender::PrerenderHandle> handle = StartPrerender(kTestUrl);
 
@@ -146,7 +145,7 @@
 
 TEST_F(IsolatedPrerenderURLLoaderInterceptorTest, DISABLE_ASAN(NotAPrerender)) {
   base::test::ScopedFeatureList scoped_feature_list;
-  scoped_feature_list.InitAndEnableFeature(kIsolatePrerenders);
+  scoped_feature_list.InitAndEnableFeature(features::kIsolatePrerenders);
 
   std::unique_ptr<IsolatedPrerenderURLLoaderInterceptor> interceptor =
       std::make_unique<IsolatedPrerenderURLLoaderInterceptor>(
@@ -170,7 +169,7 @@
 
 TEST_F(IsolatedPrerenderURLLoaderInterceptorTest, DISABLE_ASAN(NotAFrame)) {
   base::test::ScopedFeatureList scoped_feature_list;
-  scoped_feature_list.InitAndEnableFeature(kIsolatePrerenders);
+  scoped_feature_list.InitAndEnableFeature(features::kIsolatePrerenders);
 
   std::unique_ptr<IsolatedPrerenderURLLoaderInterceptor> interceptor =
       std::make_unique<IsolatedPrerenderURLLoaderInterceptor>(1337);
diff --git a/chrome/browser/previews/previews_content_util.cc b/chrome/browser/previews/previews_content_util.cc
index a48fc45..371e106 100644
--- a/chrome/browser/previews/previews_content_util.cc
+++ b/chrome/browser/previews/previews_content_util.cc
@@ -201,9 +201,6 @@
   if (!navigation_handle->GetWebContents())
     return nullptr;
 
-  server_lite_page_info->original_navigation_start =
-      navigation_handle->NavigationStart();
-
   const net::HttpRequestHeaders& headers =
       navigation_handle->GetRequestHeaders();
 
diff --git a/chrome/browser/previews/previews_lite_page_redirect_url_loader_interceptor.cc b/chrome/browser/previews/previews_lite_page_redirect_url_loader_interceptor.cc
index edfaa70..9444c23 100644
--- a/chrome/browser/previews/previews_lite_page_redirect_url_loader_interceptor.cc
+++ b/chrome/browser/previews/previews_lite_page_redirect_url_loader_interceptor.cc
@@ -237,7 +237,6 @@
 
   previews::PreviewsUserData::ServerLitePageInfo* info =
       previews_data->server_lite_page_info();
-  info->original_navigation_start = navigation_handle->NavigationStart();
   if (session_id.has_value())
     info->drp_session_key = session_id.value();
 
diff --git a/chrome/browser/resources/accessibility/accessibility.js b/chrome/browser/resources/accessibility/accessibility.js
index 14bcf6f..fffc73a 100644
--- a/chrome/browser/resources/accessibility/accessibility.js
+++ b/chrome/browser/resources/accessibility/accessibility.js
@@ -106,13 +106,25 @@
       element.textContent = 'Stop recording';
       element.setAttribute('aria-expanded', 'true');
 
-      // TODO Hide all other start recording elements. UI should reflect the
-      // fact that there can only be one accessibility recorder at once.
+      // Disable all other start recording buttons. UI reflects the fact that
+      // there can only be one accessibility recorder at once.
+      const buttons = document.getElementsByClassName('recordEventsButton');
+      for (const button of buttons) {
+        if (button != element) {
+          button.disabled = true;
+        }
+      }
     } else {
       element.textContent = 'Start recording';
       element.setAttribute('aria-expanded', 'false');
 
-      // TODO Show all start recording elements.
+      // Enable all start recording buttons.
+      const buttons = document.getElementsByClassName('recordEventsButton');
+      for (const button of buttons) {
+        if (button != element) {
+          button.disabled = false;
+        }
+      }
     }
     chrome.send('requestAccessibilityEvents', [
       {'processId': data.processId, 'routingId': data.routingId, 'start': start}
@@ -368,6 +380,7 @@
 
   function createStartStopAccessibilityEventRecordingElement(data, id) {
     const show = document.createElement('button');
+    show.classList.add('recordEventsButton');
     show.textContent = 'Start recording';
     show.id = id + ':startOrStopEvents';
     show.setAttribute('aria-expanded', 'false');
diff --git a/chrome/browser/resources/chromeos/crostini_upgrader/app.js b/chrome/browser/resources/chromeos/crostini_upgrader/app.js
index 9282ac4f3..bf7f668 100644
--- a/chrome/browser/resources/chromeos/crostini_upgrader/app.js
+++ b/chrome/browser/resources/chromeos/crostini_upgrader/app.js
@@ -360,11 +360,13 @@
           default:
             assertNotReached();
         }
+        break;
       case State.UPGRADING:
         messageId = 'upgradingMessage';
         break;
       case State.SUCCEEDED:
         messageId = 'succeededMessage';
+        break;
     }
     return messageId ? loadTimeData.getString(messageId) : '';
   },
diff --git a/chrome/browser/resources/tab_strip/tab_group.js b/chrome/browser/resources/tab_strip/tab_group.js
index 54e930fc..0000042 100644
--- a/chrome/browser/resources/tab_strip/tab_group.js
+++ b/chrome/browser/resources/tab_strip/tab_group.js
@@ -4,7 +4,7 @@
 
 import {CustomElement} from './custom_element.js';
 
-class TabGroupElement extends CustomElement {
+export class TabGroupElement extends CustomElement {
   static get template() {
     return `{__html_template__}`;
   }
diff --git a/chrome/browser/resources/tab_strip/tab_list.js b/chrome/browser/resources/tab_strip/tab_list.js
index 0fd428e..04c69cc 100644
--- a/chrome/browser/resources/tab_strip/tab_list.js
+++ b/chrome/browser/resources/tab_strip/tab_list.js
@@ -15,6 +15,7 @@
 
 import {CustomElement} from './custom_element.js';
 import {TabElement} from './tab.js';
+import {TabGroupElement} from './tab_group.js';
 import {TabStripEmbedderProxy} from './tab_strip_embedder_proxy.js';
 import {tabStripOptions} from './tab_strip_options.js';
 import {TabData, TabsApiProxy} from './tabs_api_proxy.js';
@@ -53,6 +54,14 @@
   return element.tagName === 'TABSTRIP-TAB';
 }
 
+/**
+ * @param {!Element} element
+ * @return {boolean}
+ */
+function isTabGroupElement(element) {
+  return element.tagName === 'TABSTRIP-TAB-GROUP';
+}
+
 class TabListElement extends CustomElement {
   static get template() {
     return `{__html_template__}`;
@@ -265,6 +274,12 @@
       addWebUIListener('tab-updated', tab => this.onTabUpdated_(tab));
       addWebUIListener(
           'tab-active-changed', tabId => this.onTabActivated_(tabId));
+      addWebUIListener(
+          'tab-group-state-changed',
+          (tabId, index, groupId) =>
+              this.onTabGroupStateChanged_(tabId, index, groupId));
+      addWebUIListener(
+          'tab-group-closed', groupId => this.onTabGroupClosed_(groupId));
     });
   }
 
@@ -299,6 +314,16 @@
         this.shadowRoot.querySelector(`tabstrip-tab[data-tab-id="${tabId}"]`));
   }
 
+  /**
+   * @param {string} groupId
+   * @return {?TabGroupElement}
+   * @private
+   */
+  findTabGroupElement_(groupId) {
+    return /** @type {?TabGroupElement} */ (this.shadowRoot.querySelector(
+        `tabstrip-tab-group[data-group-id="${groupId}"]`));
+  }
+
   /** @private */
   fetchAndUpdateColors_() {
     this.tabStripEmbedderProxy_.getColors().then(
@@ -324,24 +349,54 @@
 
   /**
    * @param {!TabElement} tabElement
-   * @param {number} index
+   * @param {number} modelIndex
    * @private
    */
-  insertTabOrMoveTo_(tabElement, index) {
+  insertTabOrMoveTo_(tabElement, modelIndex) {
     const isInserting = !tabElement.isConnected;
 
     // Remove the tabElement if it already exists in the DOM
     tabElement.remove();
 
-    if (tabElement.tab && tabElement.tab.pinned) {
+    if (tabElement.tab.pinned) {
       this.pinnedTabsElement_.insertBefore(
-          tabElement, this.pinnedTabsElement_.childNodes[index]);
+          tabElement, this.pinnedTabsElement_.childNodes[modelIndex]);
     } else {
-      // Pinned tabs are in their own , so the index of non-pinned
-      // tabs need to be offset by the number of pinned tabs
-      const offsetIndex = index - this.pinnedTabsElement_.childElementCount;
-      this.unpinnedTabsElement_.insertBefore(
-          tabElement, this.unpinnedTabsElement_.childNodes[offsetIndex]);
+      let elementToInsert = tabElement;
+      let elementAtIndex =
+          this.shadowRoot.querySelectorAll('tabstrip-tab').item(modelIndex);
+      let parentElement = this.unpinnedTabsElement_;
+
+      if (tabElement.tab.groupId) {
+        let tabGroupElement = this.findTabGroupElement_(tabElement.tab.groupId);
+        if (tabGroupElement) {
+          // If a TabGroupElement already exists, add the TabElement to it.
+          parentElement = tabGroupElement;
+        } else {
+          // If a TabGroupElement does not exist, create one and add the
+          // TabGroupElement into the DOM.
+          tabGroupElement = document.createElement('tabstrip-tab-group');
+          tabGroupElement.setAttribute('data-group-id', tabElement.tab.groupId);
+          tabGroupElement.appendChild(tabElement);
+          elementToInsert = tabGroupElement;
+        }
+      } else if (
+          elementAtIndex && elementAtIndex.parentElement &&
+          isTabGroupElement(elementAtIndex.parentElement) &&
+          elementAtIndex.previousElementSibling === null) {
+        // If the element at the model index is in a group and is the first
+        // element in its group, insert the new element before its
+        // TabGroupElement. If a TabElement is being sandwiched between two
+        // TabElements in a group, it can be assumed that the tab will
+        // eventually be inserted into the group as well.
+        elementAtIndex = elementAtIndex.parentElement;
+      }
+
+      if (elementAtIndex && elementAtIndex.parentElement === parentElement) {
+        parentElement.insertBefore(elementToInsert, elementAtIndex);
+      } else {
+        parentElement.appendChild(elementToInsert);
+      }
     }
 
     if (isInserting) {
@@ -365,9 +420,16 @@
       this.scrollToActiveTab_();
     }
 
-    this.unpinnedTabsElement_.childNodes.forEach(
-        tabElement => this.updateThumbnailTrackStatus_(
-            /** @type {!TabElement} */ (tabElement)));
+    this.unpinnedTabsElement_.childNodes.forEach(element => {
+      if (isTabGroupElement(/** @type {!Element} */ (element))) {
+        element.childNodes.forEach(
+            tabElement => this.updateThumbnailTrackStatus_(
+                /** @type {!TabElement} */ (tabElement)));
+      } else {
+        this.updateThumbnailTrackStatus_(
+            /** @type {!TabElement} */ (element));
+      }
+    });
   }
 
   /**
@@ -400,12 +462,9 @@
 
     event.dataTransfer.dropEffect = 'move';
 
-    let dragOverIndex =
-        Array.from(dragOverItem.parentNode.children).indexOf(dragOverItem);
-    if (!this.draggedItem_.tab.pinned) {
-      dragOverIndex += this.pinnedTabsElement_.childElementCount;
-    }
-
+    const dragOverIndex =
+        Array.from(this.shadowRoot.querySelectorAll('tabstrip-tab'))
+            .indexOf(dragOverItem);
     this.tabsApi_.moveTab(this.draggedItem_.tab.id, dragOverIndex);
   }
 
@@ -499,6 +558,31 @@
   }
 
   /**
+   * @param {string} groupId
+   * @private
+   */
+  onTabGroupClosed_(groupId) {
+    const tabGroupElement = this.findTabGroupElement_(groupId);
+    if (!tabGroupElement) {
+      return;
+    }
+    tabGroupElement.remove();
+  }
+
+  /**
+   * @param {number} tabId
+   * @param {number} index
+   * @param {string} groupId
+   * @private
+   */
+  onTabGroupStateChanged_(tabId, index, groupId) {
+    const tabElement = this.findTabElement_(tabId);
+    tabElement.tab = /** @type {!TabData} */ (
+        Object.assign({}, tabElement.tab, {groupId: groupId}));
+    this.insertTabOrMoveTo_(tabElement, index);
+  }
+
+  /**
    * @param {number} tabId
    * @param {number} newIndex
    * @private
diff --git a/chrome/browser/sync/test/integration/two_client_autofill_sync_test.cc b/chrome/browser/sync/test/integration/two_client_autofill_sync_test.cc
index dfa8f65..60ffca4 100644
--- a/chrome/browser/sync/test/integration/two_client_autofill_sync_test.cc
+++ b/chrome/browser/sync/test/integration/two_client_autofill_sync_test.cc
@@ -308,9 +308,8 @@
 
 // Tests that adding the same profile on the two clients before sync is started
 // results in each client only having one profile after sync is started
-// Flaky on all platform, crbug.com/971644.
 IN_PROC_BROWSER_TEST_F(TwoClientAutofillProfileSyncTest,
-                       DISABLED_ClientsAddSameProfile) {
+                       ClientsAddSameProfile) {
   ASSERT_TRUE(SetupClients()) << "SetupClients() failed";
   base::HistogramTester histograms;
 
diff --git a/chrome/browser/sync_file_system/drive_backend/drive_service_on_worker.cc b/chrome/browser/sync_file_system/drive_backend/drive_service_on_worker.cc
index bab7f45..39950c6 100644
--- a/chrome/browser/sync_file_system/drive_backend/drive_service_on_worker.cc
+++ b/chrome/browser/sync_file_system/drive_backend/drive_service_on_worker.cc
@@ -287,7 +287,7 @@
 }
 
 void DriveServiceOnWorker::RequestAccessToken(
-    const google_apis::AuthStatusCallback& callback) {
+    google_apis::AuthStatusCallback callback) {
   NOTREACHED();
 }
 
diff --git a/chrome/browser/sync_file_system/drive_backend/drive_service_on_worker.h b/chrome/browser/sync_file_system/drive_backend/drive_service_on_worker.h
index c4599f0e..5073d53 100644
--- a/chrome/browser/sync_file_system/drive_backend/drive_service_on_worker.h
+++ b/chrome/browser/sync_file_system/drive_backend/drive_service_on_worker.h
@@ -112,8 +112,7 @@
   void RemoveObserver(drive::DriveServiceObserver* observer) override;
   bool CanSendRequest() const override;
   bool HasAccessToken() const override;
-  void RequestAccessToken(
-      const google_apis::AuthStatusCallback& callback) override;
+  void RequestAccessToken(google_apis::AuthStatusCallback callback) override;
   void ClearAccessToken() override;
   void ClearRefreshToken() override;
   google_apis::CancelCallback GetAllTeamDriveList(
diff --git a/chrome/browser/ui/android/widget/BUILD.gn b/chrome/browser/ui/android/widget/BUILD.gn
index 4fdb9423..5585371 100644
--- a/chrome/browser/ui/android/widget/BUILD.gn
+++ b/chrome/browser/ui/android/widget/BUILD.gn
@@ -88,6 +88,7 @@
     "java/src/org/chromium/chrome/browser/ui/widget/MoreProgressButtonTest.java",
     "java/src/org/chromium/chrome/browser/ui/widget/PromoDialogTest.java",
     "java/src/org/chromium/chrome/browser/ui/widget/RadioButtonLayoutTest.java",
+    "java/src/org/chromium/chrome/browser/ui/widget/RadioButtonRenderTest.java",
     "java/src/org/chromium/chrome/browser/ui/widget/RadioButtonWithDescriptionLayoutTest.java",
     "java/src/org/chromium/chrome/browser/ui/widget/RadioButtonWithEditTextTest.java",
     "java/src/org/chromium/chrome/browser/ui/widget/WrappingLayoutTest.java",
diff --git a/chrome/browser/ui/android/widget/java/res/layout/radio_button_with_edit_text.xml b/chrome/browser/ui/android/widget/java/res/layout/radio_button_with_edit_text.xml
index 7c77fb0..2cc688d 100644
--- a/chrome/browser/ui/android/widget/java/res/layout/radio_button_with_edit_text.xml
+++ b/chrome/browser/ui/android/widget/java/res/layout/radio_button_with_edit_text.xml
@@ -24,7 +24,6 @@
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:layout_toEndOf="@id/radio_button"
-        android:layout_centerVertical="true"
         android:textAppearance="@style/TextAppearance.BlackTitle1"
         android:inputType="text" />
 
diff --git a/chrome/browser/ui/android/widget/java/src/org/chromium/chrome/browser/ui/widget/RadioButtonRenderTest.java b/chrome/browser/ui/android/widget/java/src/org/chromium/chrome/browser/ui/widget/RadioButtonRenderTest.java
new file mode 100644
index 0000000..638d787
--- /dev/null
+++ b/chrome/browser/ui/android/widget/java/src/org/chromium/chrome/browser/ui/widget/RadioButtonRenderTest.java
@@ -0,0 +1,105 @@
+// Copyright 2020 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.chrome.browser.ui.widget;
+
+import android.app.Activity;
+import android.graphics.Color;
+import android.support.test.filters.SmallTest;
+import android.view.LayoutInflater;
+import android.view.View;
+
+import org.junit.Assert;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+import org.chromium.base.test.params.BaseJUnit4RunnerDelegate;
+import org.chromium.base.test.params.ParameterAnnotations.ClassParameter;
+import org.chromium.base.test.params.ParameterAnnotations.UseRunnerDelegate;
+import org.chromium.base.test.params.ParameterSet;
+import org.chromium.base.test.params.ParameterizedRunner;
+import org.chromium.base.test.util.Feature;
+import org.chromium.chrome.browser.ui.widget.test.R;
+import org.chromium.content_public.browser.test.util.TestThreadUtils;
+import org.chromium.ui.test.util.DummyUiActivityTestCase;
+import org.chromium.ui.test.util.NightModeTestUtils;
+import org.chromium.ui.test.util.RenderTestRule;
+
+import java.util.List;
+
+/**
+ * Render test for {@link RadioButtonWithDescription}, {@link RadioButtonWithEditText} and
+ * {@link RadioButtonWithDescriptionLayout}.
+ */
+@RunWith(ParameterizedRunner.class)
+@UseRunnerDelegate(BaseJUnit4RunnerDelegate.class)
+public class RadioButtonRenderTest extends DummyUiActivityTestCase {
+    @ClassParameter
+    private static List<ParameterSet> sClassParams =
+            new NightModeTestUtils.NightModeParams().getParameters();
+
+    @Rule
+    public RenderTestRule mRenderTestRule =
+            new RenderTestRule("chrome/test/data/android/render_tests");
+
+    private RadioButtonWithDescriptionLayout mLayout;
+
+    private RadioButtonWithDescription mRadioButtonWithDescription1;
+    private RadioButtonWithDescription mRadioButtonWithDescription2;
+
+    private RadioButtonWithEditText mRadioButtonWithEditText1;
+    private RadioButtonWithEditText mRadioButtonWithEditText2;
+    private RadioButtonWithEditText mRadioButtonWithEditText3;
+    private RadioButtonWithEditText mRadioButtonWithEditText4;
+
+    private final int mFakeBgColor;
+
+    public RadioButtonRenderTest(boolean nightModeEnabled) {
+        mFakeBgColor = nightModeEnabled ? Color.BLACK : Color.WHITE;
+        NightModeTestUtils.setUpNightModeForDummyUiActivity(nightModeEnabled);
+        mRenderTestRule.setNightModeEnabled(nightModeEnabled);
+    }
+
+    @Override
+    public void setUpTest() throws Exception {
+        super.setUpTest();
+        Activity activity = getActivity();
+        TestThreadUtils.runOnUiThreadBlocking(() -> {
+            View content = LayoutInflater.from(activity).inflate(
+                    R.layout.radio_button_render_test, null, false);
+            activity.setContentView(content);
+
+            mLayout = content.findViewById(R.id.test_radio_button_layout);
+            mLayout.setBackgroundColor(mFakeBgColor);
+
+            mRadioButtonWithDescription1 = content.findViewById(R.id.test_radio_description_1);
+            mRadioButtonWithDescription2 = content.findViewById(R.id.test_radio_description_2);
+            mRadioButtonWithEditText1 = content.findViewById(R.id.test_radio_edit_text_1);
+            mRadioButtonWithEditText2 = content.findViewById(R.id.test_radio_edit_text_2);
+            mRadioButtonWithEditText3 = content.findViewById(R.id.test_radio_edit_text_3);
+            mRadioButtonWithEditText4 = content.findViewById(R.id.test_radio_edit_text_4);
+        });
+
+        Assert.assertNotNull(mLayout);
+        Assert.assertNotNull(mRadioButtonWithDescription1);
+        Assert.assertNotNull(mRadioButtonWithDescription2);
+        Assert.assertNotNull(mRadioButtonWithEditText1);
+        Assert.assertNotNull(mRadioButtonWithEditText2);
+        Assert.assertNotNull(mRadioButtonWithEditText3);
+        Assert.assertNotNull(mRadioButtonWithEditText4);
+    }
+
+    @Test
+    @SmallTest
+    @Feature({"RenderTest", "RadioButton"})
+    public void testRadioButtonWithDescriptionLayout() throws Exception {
+        mRenderTestRule.render(mRadioButtonWithDescription1, "test_radio_description_1");
+        mRenderTestRule.render(mRadioButtonWithDescription2, "test_radio_description_2");
+        mRenderTestRule.render(mRadioButtonWithEditText1, "test_radio_edit_text_1");
+        mRenderTestRule.render(mRadioButtonWithEditText2, "test_radio_edit_text_2");
+        mRenderTestRule.render(mRadioButtonWithEditText3, "test_radio_edit_text_3");
+        mRenderTestRule.render(mRadioButtonWithEditText4, "test_radio_edit_text_4");
+    }
+}
diff --git a/chrome/browser/ui/android/widget/test/java/res/layout/radio_button_render_test.xml b/chrome/browser/ui/android/widget/test/java/res/layout/radio_button_render_test.xml
new file mode 100644
index 0000000..c26e6b5
--- /dev/null
+++ b/chrome/browser/ui/android/widget/test/java/res/layout/radio_button_render_test.xml
@@ -0,0 +1,85 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright 2020 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. -->
+
+<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_height="wrap_content"
+    android:layout_width="wrap_content"
+    xmlns:app="http://schemas.android.com/apk/res-auto">
+
+    <org.chromium.chrome.browser.ui.widget.RadioButtonWithDescriptionLayout
+        android:id="@+id/test_radio_button_layout"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent">
+
+        <!-- RadioButtonWithDescription - With primary, without description. -->
+        <org.chromium.chrome.browser.ui.widget.RadioButtonWithDescription
+              android:id="@+id/test_radio_description_1"
+              android:layout_width="match_parent"
+              android:layout_height="wrap_content"
+              android:background="?attr/selectableItemBackground"
+              app:primaryText="@string/test_string" />
+
+        <!-- RadioButtonWithDescription - With primary and description. -->
+        <org.chromium.chrome.browser.ui.widget.RadioButtonWithDescription
+            android:id="@+id/test_radio_description_2"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:background="?attr/selectableItemBackground"
+            app:primaryText="@string/test_string"
+            app:descriptionText="@string/test_string" />
+
+        <!-- RadioButtonWithDescription - With primary and description. -->
+        <org.chromium.chrome.browser.ui.widget.RadioButtonWithEditText
+            android:id="@+id/test_radio_edit_text_1"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:minHeight="@dimen/min_touch_target_size"
+            android:paddingTop="8dp"
+            android:paddingBottom="8dp"
+            android:inputType="text"
+            android:hint="@string/test_uri"
+            android:background="?attr/selectableItemBackground"
+            app:primaryText="@string/test_string"
+            app:descriptionText="@string/test_string" />
+
+        <!-- RadioButtonWithDescription - With primary, without description. -->
+        <org.chromium.chrome.browser.ui.widget.RadioButtonWithEditText
+            android:id="@+id/test_radio_edit_text_2"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:minHeight="@dimen/min_touch_target_size"
+            android:paddingTop="8dp"
+            android:paddingBottom="8dp"
+            android:inputType="text"
+            android:hint="@string/test_uri"
+            android:background="?attr/selectableItemBackground"
+            app:primaryText="@string/test_string" />
+
+        <!-- RadioButtonWithDescription - Without primary, with hint, with description. -->
+        <org.chromium.chrome.browser.ui.widget.RadioButtonWithEditText
+            android:id="@+id/test_radio_edit_text_3"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:minHeight="@dimen/min_touch_target_size"
+            android:paddingTop="8dp"
+            android:paddingBottom="8dp"
+            android:inputType="text"
+            android:hint="@string/test_uri"
+            android:background="?attr/selectableItemBackground"
+            app:descriptionText="@string/test_string" />
+
+        <!-- RadioButtonWithDescription - Without primary, without description. -->
+        <org.chromium.chrome.browser.ui.widget.RadioButtonWithEditText
+            android:id="@+id/test_radio_edit_text_4"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:minHeight="@dimen/min_touch_target_size"
+            android:paddingTop="8dp"
+            android:paddingBottom="8dp"
+            android:inputType="text"
+            android:hint="@string/test_uri"
+            android:background="?attr/selectableItemBackground" />
+    </org.chromium.chrome.browser.ui.widget.RadioButtonWithDescriptionLayout>
+</FrameLayout>
diff --git a/chrome/browser/ui/page_info/page_info.cc b/chrome/browser/ui/page_info/page_info.cc
index 2b311c02..f62ed53b0 100644
--- a/chrome/browser/ui/page_info/page_info.cc
+++ b/chrome/browser/ui/page_info/page_info.cc
@@ -142,6 +142,8 @@
     ContentSettingsType::NATIVE_FILE_SYSTEM_WRITE_GUARD,
 #endif
     ContentSettingsType::BLUETOOTH_SCANNING,
+    ContentSettingsType::VR,
+    ContentSettingsType::AR,
 };
 
 // Checks whether this permission is currently the factory default, as set by
diff --git a/chrome/browser/ui/page_info/page_info_ui.cc b/chrome/browser/ui/page_info/page_info_ui.cc
index c79125e0..6b43318 100644
--- a/chrome/browser/ui/page_info/page_info_ui.cc
+++ b/chrome/browser/ui/page_info/page_info_ui.cc
@@ -184,6 +184,8 @@
     {ContentSettingsType::BLUETOOTH_SCANNING,
      IDS_PAGE_INFO_TYPE_BLUETOOTH_SCANNING},
     {ContentSettingsType::NFC, IDS_PAGE_INFO_TYPE_NFC},
+    {ContentSettingsType::VR, IDS_PAGE_INFO_TYPE_VR},
+    {ContentSettingsType::AR, IDS_PAGE_INFO_TYPE_AR},
   };
   return kPermissionsUIInfo;
 }
@@ -625,6 +627,10 @@
     case ContentSettingsType::NATIVE_FILE_SYSTEM_WRITE_GUARD:
       icon = &kSaveOriginalFileIcon;
       break;
+    case ContentSettingsType::VR:
+    case ContentSettingsType::AR:
+      icon = &kVrHeadsetIcon;
+      break;
     default:
       // All other |ContentSettingsType|s do not have icons on desktop or are
       // not shown in the Page Info bubble.
diff --git a/chrome/browser/ui/views/web_apps/web_app_frame_toolbar_view.cc b/chrome/browser/ui/views/web_apps/web_app_frame_toolbar_view.cc
index 98409f9..e85c720 100644
--- a/chrome/browser/ui/views/web_apps/web_app_frame_toolbar_view.cc
+++ b/chrome/browser/ui/views/web_apps/web_app_frame_toolbar_view.cc
@@ -138,10 +138,12 @@
 void SetInsetsForWebAppToolbarButton(ToolbarButton* toolbar_button,
                                      bool is_browser_focus_mode) {
   if (!is_browser_focus_mode) {
-    toolbar_button->SetLayoutInsets(gfx::Insets(2));
-
+    // We set the kInternalPaddingKey property first, as SetLayoutInsets caches
+    // the resulting total insets.
     constexpr gfx::Insets kInkDropInsets(2);
     toolbar_button->SetProperty(views::kInternalPaddingKey, kInkDropInsets);
+
+    toolbar_button->SetLayoutInsets(gfx::Insets(2));
   }
 }
 
diff --git a/chrome/common/chrome_features.cc b/chrome/common/chrome_features.cc
index 80bca8a..ebe3dbc 100644
--- a/chrome/common/chrome_features.cc
+++ b/chrome/common/chrome_features.cc
@@ -721,8 +721,8 @@
 
 #if !defined(OS_ANDROID)
 // Enables or disables the Javascript API to propagate sync encryption keys.
-const base::Feature kSyncEncryptionKeysWebApi{
-    "SyncEncryptionKeysWebApi", base::FEATURE_DISABLED_BY_DEFAULT};
+const base::Feature kSyncEncryptionKeysWebApi{"SyncEncryptionKeysWebApi",
+                                              base::FEATURE_ENABLED_BY_DEFAULT};
 #endif  // !defined(OS_ANDROID)
 
 #if defined(OS_CHROMEOS)
diff --git a/chrome/common/extensions/api/_permission_features.json b/chrome/common/extensions/api/_permission_features.json
index c929b37..95b19d78 100644
--- a/chrome/common/extensions/api/_permission_features.json
+++ b/chrome/common/extensions/api/_permission_features.json
@@ -481,11 +481,21 @@
       "4DBFC1C52D6660DD90791976DF7FEF7B3D360509"  // Imprivata (login screen) DEV
     ]
   },
-  "loginState": {
-    "channel": "stable",
-    "extension_types": ["login_screen_extension", "extension"],
-    "platforms": ["chromeos"]
-  },
+  "loginState": [
+    {
+      "channel": "stable",
+      "extension_types": ["login_screen_extension", "extension"],
+      "platforms": ["chromeos"]
+    },
+    {
+      "channel": "stable",
+      "extension_types": ["platform_app"],
+      "platforms": ["chromeos"],
+      "whitelist": [
+        "EC3DE21E048B67319893889529354DFBFA96FD23"  // Smart Card Connector
+      ]
+    }
+  ],
   "webcamPrivate": {
     "channel": "stable",
     "extension_types": ["extension", "platform_app"],
diff --git a/chrome/services/app_service/app_service_impl.cc b/chrome/services/app_service/app_service_impl.cc
index fa60302..2aa4e157 100644
--- a/chrome/services/app_service/app_service_impl.cc
+++ b/chrome/services/app_service/app_service_impl.cc
@@ -184,6 +184,21 @@
   iter->second->UnpauseApps(app_id);
 }
 
+void AppServiceImpl::GetMenuModel(apps::mojom::AppType app_type,
+                                  const std::string& app_id,
+                                  apps::mojom::MenuType menu_type,
+                                  GetMenuModelCallback callback) {
+  auto iter = publishers_.find(app_type);
+  if (iter == publishers_.end()) {
+    std::move(callback).Run(apps::mojom::MenuItems::New());
+    return;
+  }
+
+  // TODO(crbug.com/1038487): change to use below code to call
+  // AppServiceProxy->GetMenuModel when GetMenuModel is added to mojom.
+  // iter->second->GetMenuModel(app_id, menu_type, std::move(callback));
+}
+
 void AppServiceImpl::OpenNativeSettings(apps::mojom::AppType app_type,
                                         const std::string& app_id) {
   auto iter = publishers_.find(app_type);
diff --git a/chrome/services/app_service/app_service_impl.h b/chrome/services/app_service/app_service_impl.h
index 27d7d1a..03afef9 100644
--- a/chrome/services/app_service/app_service_impl.h
+++ b/chrome/services/app_service/app_service_impl.h
@@ -27,6 +27,9 @@
 // See chrome/services/app_service/README.md.
 class AppServiceImpl : public apps::mojom::AppService {
  public:
+  using GetMenuModelCallback =
+      base::OnceCallback<void(apps::mojom::MenuItemsPtr)>;
+
   explicit AppServiceImpl(PrefService* profile_prefs);
   ~AppServiceImpl() override;
 
@@ -73,6 +76,10 @@
                 const std::string& app_id) override;
   void UnpauseApps(apps::mojom::AppType app_type,
                    const std::string& app_id) override;
+  void GetMenuModel(apps::mojom::AppType app_type,
+                    const std::string& app_id,
+                    apps::mojom::MenuType menu_type,
+                    GetMenuModelCallback callback);
   void OpenNativeSettings(apps::mojom::AppType app_type,
                           const std::string& app_id) override;
   void AddPreferredApp(apps::mojom::AppType app_type,
diff --git a/chrome/services/app_service/app_service_impl_unittest.cc b/chrome/services/app_service/app_service_impl_unittest.cc
index 8124032..ab17939 100644
--- a/chrome/services/app_service/app_service_impl_unittest.cc
+++ b/chrome/services/app_service/app_service_impl_unittest.cc
@@ -95,6 +95,13 @@
   void Uninstall(const std::string& app_id,
                  bool clear_site_data,
                  bool report_abuse) override {}
+
+  using GetMenuModelCallback =
+      base::OnceCallback<void(apps::mojom::MenuItemsPtr)>;
+  void GetMenuModel(const std::string& app_id,
+                    apps::mojom::MenuType menu_type,
+                    GetMenuModelCallback callback) {}
+
   void PauseApp(const std::string& app_id) override {}
   void UnpauseApps(const std::string& app_id) override {}
 
diff --git a/chrome/services/app_service/public/mojom/types.mojom b/chrome/services/app_service/public/mojom/types.mojom
index ea1e1b2..92421cd 100644
--- a/chrome/services/app_service/public/mojom/types.mojom
+++ b/chrome/services/app_service/public/mojom/types.mojom
@@ -195,6 +195,40 @@
   kTriState,                   // Permission.value is a TriState.
 };
 
+// MenuItems are used to populate context menus, e.g. in the app list or shelf.
+// Note: Some menu item types only support a subset of these item features.
+// Please update comments below (MenuItemType -> [fields expected for usage])
+// when anything changed to MenuItemType or MenuItem.
+//
+// kCommand -> [command_id, string_id].
+// kRadio   -> [command_id, string_id, radio_group_id].
+// kSubmenu -> [command_id, string_id, submenu].
+//
+struct MenuItems {
+  array<MenuItem> items;
+};
+
+struct MenuItem {
+  MenuItemType type;                 // The type of the menu item.
+  int32 command_id;                  // The menu item command id.
+  int32 string_id;                   // The id of the menu item label.
+  array<MenuItem> submenu;           // The optional nested submenu item list.
+  int32 radio_group_id;              // The radio group id.
+};
+
+// The types of menu items shown in the app list or shelf.
+enum MenuItemType {
+  kCommand,    // Performs an action when selected.
+  kRadio,      // Can be selected/checked among a group of choices.
+  kSubmenu,    // Presents a submenu within another menu.
+};
+
+// Which component requests context menus, the app list or shelf.
+enum MenuType {
+  kAppList,
+  kShelf,
+};
+
 // The intent filter matching condition types.
 enum ConditionType {
   kScheme,    // Matches the URL scheme (e.g. https, tel).
diff --git a/chrome/services/wilco_dtc_supportd/public/mojom/BUILD.gn b/chrome/services/wilco_dtc_supportd/public/mojom/BUILD.gn
index 3d38bc6..1902d38 100644
--- a/chrome/services/wilco_dtc_supportd/public/mojom/BUILD.gn
+++ b/chrome/services/wilco_dtc_supportd/public/mojom/BUILD.gn
@@ -7,11 +7,7 @@
 assert(is_chromeos)
 
 mojom("mojom") {
-  sources = [
-    "wilco_dtc_supportd.mojom",
-  ]
+  sources = [ "wilco_dtc_supportd.mojom" ]
 
-  public_deps = [
-    "//mojo/public/mojom/base",
-  ]
+  public_deps = [ "//mojo/public/mojom/base" ]
 }
diff --git a/chrome/test/data/android/render_tests/RadioButtonRenderTest.NightModeDisabled-test_radio_description_1.Nexus_5-19.png.sha1 b/chrome/test/data/android/render_tests/RadioButtonRenderTest.NightModeDisabled-test_radio_description_1.Nexus_5-19.png.sha1
new file mode 100644
index 0000000..871748ba
--- /dev/null
+++ b/chrome/test/data/android/render_tests/RadioButtonRenderTest.NightModeDisabled-test_radio_description_1.Nexus_5-19.png.sha1
@@ -0,0 +1 @@
+2b018a650926d65d2fb58e66e90b026ba9fab1e1
\ No newline at end of file
diff --git a/chrome/test/data/android/render_tests/RadioButtonRenderTest.NightModeDisabled-test_radio_description_1.Nexus_5X-23.png.sha1 b/chrome/test/data/android/render_tests/RadioButtonRenderTest.NightModeDisabled-test_radio_description_1.Nexus_5X-23.png.sha1
new file mode 100644
index 0000000..723c86f
--- /dev/null
+++ b/chrome/test/data/android/render_tests/RadioButtonRenderTest.NightModeDisabled-test_radio_description_1.Nexus_5X-23.png.sha1
@@ -0,0 +1 @@
+c6f1e7ab1027bfa1686ceb5eb776be8646d94ff9
\ No newline at end of file
diff --git a/chrome/test/data/android/render_tests/RadioButtonRenderTest.NightModeDisabled-test_radio_description_2.Nexus_5-19.png.sha1 b/chrome/test/data/android/render_tests/RadioButtonRenderTest.NightModeDisabled-test_radio_description_2.Nexus_5-19.png.sha1
new file mode 100644
index 0000000..61d394ca9
--- /dev/null
+++ b/chrome/test/data/android/render_tests/RadioButtonRenderTest.NightModeDisabled-test_radio_description_2.Nexus_5-19.png.sha1
@@ -0,0 +1 @@
+b31c2976535edd9eb2b31d21926e04f2c3ca52ef
\ No newline at end of file
diff --git a/chrome/test/data/android/render_tests/RadioButtonRenderTest.NightModeDisabled-test_radio_description_2.Nexus_5X-23.png.sha1 b/chrome/test/data/android/render_tests/RadioButtonRenderTest.NightModeDisabled-test_radio_description_2.Nexus_5X-23.png.sha1
new file mode 100644
index 0000000..9d6d1a3
--- /dev/null
+++ b/chrome/test/data/android/render_tests/RadioButtonRenderTest.NightModeDisabled-test_radio_description_2.Nexus_5X-23.png.sha1
@@ -0,0 +1 @@
+9b01b20b67256fcad8b57961c5a99d6770bbe2c3
\ No newline at end of file
diff --git a/chrome/test/data/android/render_tests/RadioButtonRenderTest.NightModeDisabled-test_radio_edit_text_1.Nexus_5-19.png.sha1 b/chrome/test/data/android/render_tests/RadioButtonRenderTest.NightModeDisabled-test_radio_edit_text_1.Nexus_5-19.png.sha1
new file mode 100644
index 0000000..e0186ca
--- /dev/null
+++ b/chrome/test/data/android/render_tests/RadioButtonRenderTest.NightModeDisabled-test_radio_edit_text_1.Nexus_5-19.png.sha1
@@ -0,0 +1 @@
+82f3134485cc8a48c70761b3809872b9504ba2d1
\ No newline at end of file
diff --git a/chrome/test/data/android/render_tests/RadioButtonRenderTest.NightModeDisabled-test_radio_edit_text_1.Nexus_5X-23.png.sha1 b/chrome/test/data/android/render_tests/RadioButtonRenderTest.NightModeDisabled-test_radio_edit_text_1.Nexus_5X-23.png.sha1
new file mode 100644
index 0000000..4615717
--- /dev/null
+++ b/chrome/test/data/android/render_tests/RadioButtonRenderTest.NightModeDisabled-test_radio_edit_text_1.Nexus_5X-23.png.sha1
@@ -0,0 +1 @@
+b6d85910a1f0335f0e8af003b4c4f28a436ef350
\ No newline at end of file
diff --git a/chrome/test/data/android/render_tests/RadioButtonRenderTest.NightModeDisabled-test_radio_edit_text_2.Nexus_5-19.png.sha1 b/chrome/test/data/android/render_tests/RadioButtonRenderTest.NightModeDisabled-test_radio_edit_text_2.Nexus_5-19.png.sha1
new file mode 100644
index 0000000..dd3228f
--- /dev/null
+++ b/chrome/test/data/android/render_tests/RadioButtonRenderTest.NightModeDisabled-test_radio_edit_text_2.Nexus_5-19.png.sha1
@@ -0,0 +1 @@
+e5d824c177f4eff64d55aefcd04377458027f3ed
\ No newline at end of file
diff --git a/chrome/test/data/android/render_tests/RadioButtonRenderTest.NightModeDisabled-test_radio_edit_text_2.Nexus_5X-23.png.sha1 b/chrome/test/data/android/render_tests/RadioButtonRenderTest.NightModeDisabled-test_radio_edit_text_2.Nexus_5X-23.png.sha1
new file mode 100644
index 0000000..6918c71
--- /dev/null
+++ b/chrome/test/data/android/render_tests/RadioButtonRenderTest.NightModeDisabled-test_radio_edit_text_2.Nexus_5X-23.png.sha1
@@ -0,0 +1 @@
+7b918d5848ed88e457e402cdcc602f24fc74ffcb
\ No newline at end of file
diff --git a/chrome/test/data/android/render_tests/RadioButtonRenderTest.NightModeDisabled-test_radio_edit_text_3.Nexus_5-19.png.sha1 b/chrome/test/data/android/render_tests/RadioButtonRenderTest.NightModeDisabled-test_radio_edit_text_3.Nexus_5-19.png.sha1
new file mode 100644
index 0000000..be48832
--- /dev/null
+++ b/chrome/test/data/android/render_tests/RadioButtonRenderTest.NightModeDisabled-test_radio_edit_text_3.Nexus_5-19.png.sha1
@@ -0,0 +1 @@
+3f2db50e0c2d55df499ac6a41eb5bd69c309685b
\ No newline at end of file
diff --git a/chrome/test/data/android/render_tests/RadioButtonRenderTest.NightModeDisabled-test_radio_edit_text_3.Nexus_5X-23.png.sha1 b/chrome/test/data/android/render_tests/RadioButtonRenderTest.NightModeDisabled-test_radio_edit_text_3.Nexus_5X-23.png.sha1
new file mode 100644
index 0000000..a4930ee
--- /dev/null
+++ b/chrome/test/data/android/render_tests/RadioButtonRenderTest.NightModeDisabled-test_radio_edit_text_3.Nexus_5X-23.png.sha1
@@ -0,0 +1 @@
+63336b71ffdcdf47b2a2e0e12c2b88105d54edbf
\ No newline at end of file
diff --git a/chrome/test/data/android/render_tests/RadioButtonRenderTest.NightModeDisabled-test_radio_edit_text_4.Nexus_5-19.png.sha1 b/chrome/test/data/android/render_tests/RadioButtonRenderTest.NightModeDisabled-test_radio_edit_text_4.Nexus_5-19.png.sha1
new file mode 100644
index 0000000..182cbd2
--- /dev/null
+++ b/chrome/test/data/android/render_tests/RadioButtonRenderTest.NightModeDisabled-test_radio_edit_text_4.Nexus_5-19.png.sha1
@@ -0,0 +1 @@
+d4a33d89133e26f7b8df5c559c97672d564a2aa4
\ No newline at end of file
diff --git a/chrome/test/data/android/render_tests/RadioButtonRenderTest.NightModeDisabled-test_radio_edit_text_4.Nexus_5X-23.png.sha1 b/chrome/test/data/android/render_tests/RadioButtonRenderTest.NightModeDisabled-test_radio_edit_text_4.Nexus_5X-23.png.sha1
new file mode 100644
index 0000000..d82f3b0
--- /dev/null
+++ b/chrome/test/data/android/render_tests/RadioButtonRenderTest.NightModeDisabled-test_radio_edit_text_4.Nexus_5X-23.png.sha1
@@ -0,0 +1 @@
+0a4c74b83c767570539530891fd9b404686d5293
\ No newline at end of file
diff --git a/chrome/test/data/android/render_tests/RadioButtonRenderTest.NightModeEnabled-test_radio_description_1.Nexus_5-19.png.sha1 b/chrome/test/data/android/render_tests/RadioButtonRenderTest.NightModeEnabled-test_radio_description_1.Nexus_5-19.png.sha1
new file mode 100644
index 0000000..c922dea
--- /dev/null
+++ b/chrome/test/data/android/render_tests/RadioButtonRenderTest.NightModeEnabled-test_radio_description_1.Nexus_5-19.png.sha1
@@ -0,0 +1 @@
+542a3d4b731907be83f2215f5cd89ac626967fee
\ No newline at end of file
diff --git a/chrome/test/data/android/render_tests/RadioButtonRenderTest.NightModeEnabled-test_radio_description_1.Nexus_5X-23.png.sha1 b/chrome/test/data/android/render_tests/RadioButtonRenderTest.NightModeEnabled-test_radio_description_1.Nexus_5X-23.png.sha1
new file mode 100644
index 0000000..88f0bbb
--- /dev/null
+++ b/chrome/test/data/android/render_tests/RadioButtonRenderTest.NightModeEnabled-test_radio_description_1.Nexus_5X-23.png.sha1
@@ -0,0 +1 @@
+43dc990dbc28afb48077220e42300da4b7e57021
\ No newline at end of file
diff --git a/chrome/test/data/android/render_tests/RadioButtonRenderTest.NightModeEnabled-test_radio_description_2.Nexus_5-19.png.sha1 b/chrome/test/data/android/render_tests/RadioButtonRenderTest.NightModeEnabled-test_radio_description_2.Nexus_5-19.png.sha1
new file mode 100644
index 0000000..8e9647b3
--- /dev/null
+++ b/chrome/test/data/android/render_tests/RadioButtonRenderTest.NightModeEnabled-test_radio_description_2.Nexus_5-19.png.sha1
@@ -0,0 +1 @@
+bb7ac8ada8d39d2846b300bb936f5a557879cdda
\ No newline at end of file
diff --git a/chrome/test/data/android/render_tests/RadioButtonRenderTest.NightModeEnabled-test_radio_description_2.Nexus_5X-23.png.sha1 b/chrome/test/data/android/render_tests/RadioButtonRenderTest.NightModeEnabled-test_radio_description_2.Nexus_5X-23.png.sha1
new file mode 100644
index 0000000..e0e8620
--- /dev/null
+++ b/chrome/test/data/android/render_tests/RadioButtonRenderTest.NightModeEnabled-test_radio_description_2.Nexus_5X-23.png.sha1
@@ -0,0 +1 @@
+b69dcd2af2c79f6a206d1e3fa624871ec5f352b2
\ No newline at end of file
diff --git a/chrome/test/data/android/render_tests/RadioButtonRenderTest.NightModeEnabled-test_radio_edit_text_1.Nexus_5-19.png.sha1 b/chrome/test/data/android/render_tests/RadioButtonRenderTest.NightModeEnabled-test_radio_edit_text_1.Nexus_5-19.png.sha1
new file mode 100644
index 0000000..84d3a0ce
--- /dev/null
+++ b/chrome/test/data/android/render_tests/RadioButtonRenderTest.NightModeEnabled-test_radio_edit_text_1.Nexus_5-19.png.sha1
@@ -0,0 +1 @@
+90f8b68dac348a2ca4cce6706b11acecd075c0eb
\ No newline at end of file
diff --git a/chrome/test/data/android/render_tests/RadioButtonRenderTest.NightModeEnabled-test_radio_edit_text_1.Nexus_5X-23.png.sha1 b/chrome/test/data/android/render_tests/RadioButtonRenderTest.NightModeEnabled-test_radio_edit_text_1.Nexus_5X-23.png.sha1
new file mode 100644
index 0000000..670d9058
--- /dev/null
+++ b/chrome/test/data/android/render_tests/RadioButtonRenderTest.NightModeEnabled-test_radio_edit_text_1.Nexus_5X-23.png.sha1
@@ -0,0 +1 @@
+c35e2896b1be7979365e588bfce39047ec72db67
\ No newline at end of file
diff --git a/chrome/test/data/android/render_tests/RadioButtonRenderTest.NightModeEnabled-test_radio_edit_text_2.Nexus_5-19.png.sha1 b/chrome/test/data/android/render_tests/RadioButtonRenderTest.NightModeEnabled-test_radio_edit_text_2.Nexus_5-19.png.sha1
new file mode 100644
index 0000000..b987dda0
--- /dev/null
+++ b/chrome/test/data/android/render_tests/RadioButtonRenderTest.NightModeEnabled-test_radio_edit_text_2.Nexus_5-19.png.sha1
@@ -0,0 +1 @@
+8a0fb530f9dbc8eb2a571048050945e86a9133b0
\ No newline at end of file
diff --git a/chrome/test/data/android/render_tests/RadioButtonRenderTest.NightModeEnabled-test_radio_edit_text_2.Nexus_5X-23.png.sha1 b/chrome/test/data/android/render_tests/RadioButtonRenderTest.NightModeEnabled-test_radio_edit_text_2.Nexus_5X-23.png.sha1
new file mode 100644
index 0000000..42a8117
--- /dev/null
+++ b/chrome/test/data/android/render_tests/RadioButtonRenderTest.NightModeEnabled-test_radio_edit_text_2.Nexus_5X-23.png.sha1
@@ -0,0 +1 @@
+fb79f426d29b1c5e65d6314cf381445bf8625a74
\ No newline at end of file
diff --git a/chrome/test/data/android/render_tests/RadioButtonRenderTest.NightModeEnabled-test_radio_edit_text_3.Nexus_5-19.png.sha1 b/chrome/test/data/android/render_tests/RadioButtonRenderTest.NightModeEnabled-test_radio_edit_text_3.Nexus_5-19.png.sha1
new file mode 100644
index 0000000..1248bec20
--- /dev/null
+++ b/chrome/test/data/android/render_tests/RadioButtonRenderTest.NightModeEnabled-test_radio_edit_text_3.Nexus_5-19.png.sha1
@@ -0,0 +1 @@
+7d29286bca9da206ee24f565233699733e069204
\ No newline at end of file
diff --git a/chrome/test/data/android/render_tests/RadioButtonRenderTest.NightModeEnabled-test_radio_edit_text_3.Nexus_5X-23.png.sha1 b/chrome/test/data/android/render_tests/RadioButtonRenderTest.NightModeEnabled-test_radio_edit_text_3.Nexus_5X-23.png.sha1
new file mode 100644
index 0000000..0358dcb
--- /dev/null
+++ b/chrome/test/data/android/render_tests/RadioButtonRenderTest.NightModeEnabled-test_radio_edit_text_3.Nexus_5X-23.png.sha1
@@ -0,0 +1 @@
+c26c89e5d2c401b226bf7d68d3df998bd3c19233
\ No newline at end of file
diff --git a/chrome/test/data/android/render_tests/RadioButtonRenderTest.NightModeEnabled-test_radio_edit_text_4.Nexus_5-19.png.sha1 b/chrome/test/data/android/render_tests/RadioButtonRenderTest.NightModeEnabled-test_radio_edit_text_4.Nexus_5-19.png.sha1
new file mode 100644
index 0000000..8fb581e
--- /dev/null
+++ b/chrome/test/data/android/render_tests/RadioButtonRenderTest.NightModeEnabled-test_radio_edit_text_4.Nexus_5-19.png.sha1
@@ -0,0 +1 @@
+9f6ba65430430cbfc3d59ffda0cf619b4e0e882c
\ No newline at end of file
diff --git a/chrome/test/data/android/render_tests/RadioButtonRenderTest.NightModeEnabled-test_radio_edit_text_4.Nexus_5X-23.png.sha1 b/chrome/test/data/android/render_tests/RadioButtonRenderTest.NightModeEnabled-test_radio_edit_text_4.Nexus_5X-23.png.sha1
new file mode 100644
index 0000000..8d106efe
--- /dev/null
+++ b/chrome/test/data/android/render_tests/RadioButtonRenderTest.NightModeEnabled-test_radio_edit_text_4.Nexus_5X-23.png.sha1
@@ -0,0 +1 @@
+adfb1f2b93518e72fe031d7c72551450641b9b55
\ No newline at end of file
diff --git a/chrome/test/data/policy/policy_test_cases.json b/chrome/test/data/policy/policy_test_cases.json
index a665ab02..2d9a60e 100644
--- a/chrome/test/data/policy/policy_test_cases.json
+++ b/chrome/test/data/policy/policy_test_cases.json
@@ -4920,6 +4920,8 @@
 
   "DeviceLoginScreenHighContrastEnabled": {},
 
+  "DeviceLoginScreenAccessibilityShortcutsEnabled": {},
+
   "DeviceLoginScreenDefaultScreenMagnifierType": {},
 
   "DeviceLoginScreenScreenMagnifierType": {},
diff --git a/chrome/test/data/referrer_policy/referrer-policy-start.html b/chrome/test/data/referrer_policy/referrer-policy-start.html
index a6139aa..1c00afd0 100644
--- a/chrome/test/data/referrer_policy/referrer-policy-start.html
+++ b/chrome/test/data/referrer_policy/referrer-policy-start.html
@@ -3,32 +3,23 @@
 <head>
 <script>
 function run() {
-  var kPolicy = 1;
-  var kRedirect = 2;
-  var kLink = 3;
-  var kTarget = 4;
-  var re = new RegExp("policy=(.*)&redirect=(.*)&link=(.*)&target=(.*)");
-  var matches = re.exec(document.location.search);
+  const params = new URLSearchParams(document.location.search);
+  const policy = params.get('policy');
+  const destination = params.get('redirect');
+  const shouldUseLink = params.get('link');
+  const target = params.get('target');
 
-  if (matches == null) {
-    document.body.innerText = "Could not parse parameters!";
-    return;
-  }
-
-  if (matches[kPolicy] != "no-meta") {
-    var meta = document.createElement("meta");
+  if (policy != "no-meta") {
+    const meta = document.createElement("meta");
     meta.name = "referrer";
-    meta.content = matches[kPolicy];
+    meta.content = policy;
     document.head.appendChild(meta);
   }
 
-  var destination = matches[kRedirect];
-  var redirectMatches;
-
-  if (matches[kLink] == "true") {
-    var link = document.createElement("a");
+  if (shouldUseLink == "true") {
+    const link = document.createElement("a");
     link.innerText = "link";
-    link.target = matches[kTarget];
+    link.target = target;
     link.href = destination;
     document.body.appendChild(link);
   } else {
diff --git a/chrome/test/data/referrer_policy/referrer-policy-subresource.html b/chrome/test/data/referrer_policy/referrer-policy-subresource.html
index fae33a6..5e723cc7 100644
--- a/chrome/test/data/referrer_policy/referrer-policy-subresource.html
+++ b/chrome/test/data/referrer_policy/referrer-policy-subresource.html
@@ -3,25 +3,17 @@
 <head>
 <script>
 function run() {
-  const kPolicy = 1;
-  const kRedirect = 2;
-  const re = new RegExp("policy=(.*)&redirect=(.*)");
-  const matches = re.exec(document.location.search);
+  const params = new URLSearchParams(document.location.search);
+  const policy = params.get('policy');
+  const destination = params.get('redirect');
 
-  if (matches == null) {
-    document.body.innerText = "Could not parse parameters!";
-    return;
-  }
-
-  if (matches[kPolicy] != "no-meta") {
+  if (policy != "no-meta") {
     const meta = document.createElement("meta");
     meta.name = "referrer";
-    meta.content = matches[kPolicy];
+    meta.content = policy;
     document.head.appendChild(meta);
   }
 
-  const destination = matches[kRedirect];
-
   const image = document.createElement("img");
   image.src = destination;
   image.onload = function() { document.title = 'loaded'; };
diff --git a/chrome/test/data/webui/tab_strip/tab_list_test.js b/chrome/test/data/webui/tab_strip/tab_list_test.js
index af32637..a3d10ae 100644
--- a/chrome/test/data/webui/tab_strip/tab_list_test.js
+++ b/chrome/test/data/webui/tab_strip/tab_list_test.js
@@ -102,6 +102,10 @@
     return tabList.shadowRoot.querySelectorAll('#pinnedTabs tabstrip-tab');
   }
 
+  function getTabGroups() {
+    return tabList.shadowRoot.querySelectorAll('tabstrip-tab-group');
+  }
+
   setup(() => {
     document.body.innerHTML = '';
     document.body.style.margin = 0;
@@ -219,6 +223,93 @@
     assertEquals(tabElements[0].tab, prependedTab);
   });
 
+  test('AddNewTabGroup', () => {
+    const appendedTab = {
+      active: false,
+      alertStates: [],
+      groupId: 'group0',
+      id: 3,
+      index: 3,
+      title: 'New tab in group',
+    };
+    webUIListenerCallback('tab-created', appendedTab);
+    let tabElements = getUnpinnedTabs();
+    assertEquals(tabs.length + 1, tabElements.length);
+    assertEquals(getTabGroups().length, 1);
+    assertEquals(
+        'TABSTRIP-TAB-GROUP',
+        tabElements[appendedTab.index].parentElement.tagName);
+
+    const prependedTab = {
+      active: false,
+      alertStates: [],
+      groupId: 'group1',
+      id: 4,
+      index: 0,
+      title: 'New tab',
+    };
+    webUIListenerCallback('tab-created', prependedTab);
+    tabElements = getUnpinnedTabs();
+    assertEquals(tabs.length + 2, tabElements.length);
+    assertEquals(getTabGroups().length, 2);
+    assertEquals(
+        'TABSTRIP-TAB-GROUP',
+        tabElements[prependedTab.index].parentElement.tagName);
+  });
+
+  test('AddTabToExistingGroup', () => {
+    const appendedTab = {
+      active: false,
+      alertStates: [],
+      groupId: 'group0',
+      id: 3,
+      index: 3,
+      title: 'New tab in group',
+    };
+    webUIListenerCallback('tab-created', appendedTab);
+    const appendedTabInSameGroup = {
+      active: false,
+      alertStates: [],
+      groupId: 'group0',
+      id: 4,
+      index: 4,
+      title: 'New tab in same group',
+    };
+    webUIListenerCallback('tab-created', appendedTabInSameGroup);
+    const tabGroups = getTabGroups();
+    assertEquals(tabGroups.length, 1);
+    assertEquals(tabGroups[0].children.item(0).tab.id, appendedTab.id);
+    assertEquals(
+        tabGroups[0].children.item(1).tab.id, appendedTabInSameGroup.id);
+  });
+
+  // Test that the TabList does not add a non-grouped tab to a tab group at the
+  // same index.
+  test('HandleSingleTabNextToGroup', () => {
+    const tabInGroup = {
+      active: false,
+      alertStates: [],
+      groupId: 'group0',
+      id: 3,
+      index: 3,
+      title: 'New tab in group',
+    };
+    webUIListenerCallback('tab-created', tabInGroup);
+    const tabNotInGroup = {
+      active: false,
+      alertStates: [],
+      id: 4,
+      index: 3,
+      title: 'New tab not in group',
+    };
+    webUIListenerCallback('tab-created', tabNotInGroup);
+    const tabsContainerChildren =
+        tabList.shadowRoot.querySelector('#unpinnedTabs').children;
+    assertEquals(tabsContainerChildren.item(3).tagName, 'TABSTRIP-TAB');
+    assertEquals(tabsContainerChildren.item(3).tab, tabNotInGroup);
+    assertEquals(tabsContainerChildren.item(4).tagName, 'TABSTRIP-TAB-GROUP');
+  });
+
   test('removes a tab when tab is removed from current window', async () => {
     const tabToRemove = tabs[0];
     webUIListenerCallback('tab-removed', tabToRemove.id);
@@ -293,6 +384,27 @@
     assertEquals(tabElementsBeforeMove[2], tabElementsAfterMove[1]);
   });
 
+  test('MoveExistingTabToGroup', () => {
+    const tabToGroup = tabs[1];
+    webUIListenerCallback(
+        'tab-group-state-changed', tabToGroup.id, tabToGroup.index, 'group0');
+    let tabElements = getUnpinnedTabs();
+    assertEquals(tabElements.length, tabs.length);
+    assertEquals(
+        tabElements[tabToGroup.index].parentElement.tagName,
+        'TABSTRIP-TAB-GROUP');
+
+    const anotherTabToGroup = tabs[2];
+    webUIListenerCallback(
+        'tab-group-state-changed', anotherTabToGroup.id,
+        anotherTabToGroup.index, 'group0');
+    tabElements = getUnpinnedTabs();
+    assertEquals(tabElements.length, tabs.length);
+    assertEquals(
+        tabElements[tabToGroup.index].parentElement,
+        tabElements[anotherTabToGroup.index].parentElement);
+  });
+
   test('dragstart sets a drag image offset by the event coordinates', () => {
     // Drag and drop only works for pinned tabs
     tabs.forEach(pinTabAt);
diff --git a/chromeos/dbus/permission_broker/permission_broker_client.h b/chromeos/dbus/permission_broker/permission_broker_client.h
index c9662a9..79ca9ec 100644
--- a/chromeos/dbus/permission_broker/permission_broker_client.h
+++ b/chromeos/dbus/permission_broker/permission_broker_client.h
@@ -29,9 +29,8 @@
 // http://git.chromium.org/gitweb/?p=chromiumos/platform/permission_broker.git
 class COMPONENT_EXPORT(PERMISSION_BROKER) PermissionBrokerClient {
  public:
-  // The ResultCallback is used for both the RequestPathAccess and
-  // RequestUsbAccess methods. Its boolean parameter represents the result of
-  // the operation that it was submitted alongside.
+  // The ResultCallback's boolean parameter represents the result of the
+  // operation that it was submitted alongside.
   using ResultCallback = base::OnceCallback<void(bool)>;
 
   // An OpenPathCallback callback is run when an OpenPath request is completed.
diff --git a/chromeos/resources/BUILD.gn b/chromeos/resources/BUILD.gn
index c874b26..21adbc0 100644
--- a/chromeos/resources/BUILD.gn
+++ b/chromeos/resources/BUILD.gn
@@ -69,6 +69,7 @@
   }
 
   source_is_generated = true
+  use_brotli = true
 
   outputs = [
     "grit/chromeos_help_app_bundle_resources.h",
@@ -118,6 +119,7 @@
   }
 
   source_is_generated = true
+  use_brotli = true
 
   outputs = [
     "grit/chromeos_media_app_bundle_resources.h",
diff --git a/chromeos/services/assistant/platform/audio_input_impl.cc b/chromeos/services/assistant/platform/audio_input_impl.cc
index d9a5dea29..98aeb9ce 100644
--- a/chromeos/services/assistant/platform/audio_input_impl.cc
+++ b/chromeos/services/assistant/platform/audio_input_impl.cc
@@ -451,10 +451,13 @@
       GetChannelLayout(g_current_format), g_current_format.sample_rate,
       g_current_format.sample_rate / 10 /* buffer size for 100 ms */);
 
-  if (use_dsp && !hotword_device_id_.empty()) {
-    param.set_effects(media::AudioParameters::PlatformEffectsMask::HOTWORD);
+  // Set the HOTWORD mask so CRAS knows the device is used for HOTWORD purpose
+  // and is able to conduct the tuning specifically for the scenario. Whether
+  // the HOTWORD is conducted by a hotword device or other devices like internal
+  // mic will be determined by the device_id_ passed to CRAS.
+  param.set_effects(media::AudioParameters::PlatformEffectsMask::HOTWORD);
+  if (use_dsp && !hotword_device_id_.empty())
     device_id_ = hotword_device_id_;
-  }
 
   mojo::PendingRemote<audio::mojom::StreamFactory> stream_factory;
   client_->RequestAudioStreamFactory(
diff --git a/components/drive/service/drive_api_service.cc b/components/drive/service/drive_api_service.cc
index 52429620..f9f6332 100644
--- a/components/drive/service/drive_api_service.cc
+++ b/components/drive/service/drive_api_service.cc
@@ -793,18 +793,18 @@
   return sender_->auth_service()->HasAccessToken();
 }
 
-void DriveAPIService::RequestAccessToken(const AuthStatusCallback& callback) {
+void DriveAPIService::RequestAccessToken(AuthStatusCallback callback) {
   DCHECK(thread_checker_.CalledOnValidThread());
-  DCHECK(!callback.is_null());
+  DCHECK(callback);
 
   const std::string access_token = sender_->auth_service()->access_token();
   if (!access_token.empty()) {
-    callback.Run(google_apis::HTTP_NOT_MODIFIED, access_token);
+    std::move(callback).Run(google_apis::HTTP_NOT_MODIFIED, access_token);
     return;
   }
 
   // Retrieve the new auth token.
-  sender_->auth_service()->StartAuthentication(callback);
+  sender_->auth_service()->StartAuthentication(std::move(callback));
 }
 
 bool DriveAPIService::HasRefreshToken() const {
diff --git a/components/drive/service/drive_api_service.h b/components/drive/service/drive_api_service.h
index 1c4b552..200646d 100644
--- a/components/drive/service/drive_api_service.h
+++ b/components/drive/service/drive_api_service.h
@@ -124,8 +124,7 @@
   void RemoveObserver(DriveServiceObserver* observer) override;
   bool CanSendRequest() const override;
   bool HasAccessToken() const override;
-  void RequestAccessToken(
-      const google_apis::AuthStatusCallback& callback) override;
+  void RequestAccessToken(google_apis::AuthStatusCallback callback) override;
   bool HasRefreshToken() const override;
   void ClearAccessToken() override;
   void ClearRefreshToken() override;
diff --git a/components/drive/service/drive_api_service_unittest.cc b/components/drive/service/drive_api_service_unittest.cc
index add92a6..1492169 100644
--- a/components/drive/service/drive_api_service_unittest.cc
+++ b/components/drive/service/drive_api_service_unittest.cc
@@ -22,16 +22,15 @@
 
 class TestAuthService : public google_apis::DummyAuthService {
  public:
-  void StartAuthentication(
-      const google_apis::AuthStatusCallback& callback) override {
-    callback_ = callback;
+  void StartAuthentication(google_apis::AuthStatusCallback callback) override {
+    callback_ = std::move(callback);
   }
 
   bool HasAccessToken() const override { return false; }
 
   void SendHttpError() {
     ASSERT_FALSE(callback_.is_null());
-    callback_.Run(google_apis::HTTP_UNAUTHORIZED, "");
+    std::move(callback_).Run(google_apis::HTTP_UNAUTHORIZED, "");
   }
 
  private:
diff --git a/components/drive/service/drive_service_interface.h b/components/drive/service/drive_service_interface.h
index 6863766..3dfe31c 100644
--- a/components/drive/service/drive_service_interface.h
+++ b/components/drive/service/drive_service_interface.h
@@ -181,8 +181,7 @@
   virtual bool HasAccessToken() const = 0;
 
   // Gets the cached OAuth2 access token or if empty, then fetches a new one.
-  virtual void RequestAccessToken(
-      const google_apis::AuthStatusCallback& callback) = 0;
+  virtual void RequestAccessToken(google_apis::AuthStatusCallback callback) = 0;
 
   // True if OAuth2 refresh token is present.
   virtual bool HasRefreshToken() const = 0;
diff --git a/components/drive/service/dummy_drive_service.cc b/components/drive/service/dummy_drive_service.cc
index a8a21db..71a0c01 100644
--- a/components/drive/service/dummy_drive_service.cc
+++ b/components/drive/service/dummy_drive_service.cc
@@ -38,8 +38,8 @@
 
 bool DummyDriveService::HasAccessToken() const { return true; }
 
-void DummyDriveService::RequestAccessToken(const AuthStatusCallback& callback) {
-  callback.Run(google_apis::HTTP_NOT_MODIFIED, "fake_access_token");
+void DummyDriveService::RequestAccessToken(AuthStatusCallback callback) {
+  std::move(callback).Run(google_apis::HTTP_NOT_MODIFIED, "fake_access_token");
 }
 
 bool DummyDriveService::HasRefreshToken() const { return true; }
diff --git a/components/drive/service/dummy_drive_service.h b/components/drive/service/dummy_drive_service.h
index c8ede83..d60d8a6d 100644
--- a/components/drive/service/dummy_drive_service.h
+++ b/components/drive/service/dummy_drive_service.h
@@ -28,8 +28,7 @@
   void RemoveObserver(DriveServiceObserver* observer) override;
   bool CanSendRequest() const override;
   bool HasAccessToken() const override;
-  void RequestAccessToken(
-      const google_apis::AuthStatusCallback& callback) override;
+  void RequestAccessToken(google_apis::AuthStatusCallback callback) override;
   bool HasRefreshToken() const override;
   void ClearAccessToken() override;
   void ClearRefreshToken() override;
diff --git a/components/drive/service/fake_drive_service.cc b/components/drive/service/fake_drive_service.cc
index d487e0be..c104478 100644
--- a/components/drive/service/fake_drive_service.cc
+++ b/components/drive/service/fake_drive_service.cc
@@ -326,10 +326,10 @@
   return true;
 }
 
-void FakeDriveService::RequestAccessToken(const AuthStatusCallback& callback) {
+void FakeDriveService::RequestAccessToken(AuthStatusCallback callback) {
   DCHECK(thread_checker_.CalledOnValidThread());
   DCHECK(callback);
-  callback.Run(google_apis::HTTP_NOT_MODIFIED, "fake_access_token");
+  std::move(callback).Run(google_apis::HTTP_NOT_MODIFIED, "fake_access_token");
 }
 
 bool FakeDriveService::HasRefreshToken() const {
diff --git a/components/drive/service/fake_drive_service.h b/components/drive/service/fake_drive_service.h
index 3f979d8..81f4fba 100644
--- a/components/drive/service/fake_drive_service.h
+++ b/components/drive/service/fake_drive_service.h
@@ -129,8 +129,7 @@
   bool CanSendRequest() const override;
   std::string GetRootResourceId() const override;
   bool HasAccessToken() const override;
-  void RequestAccessToken(
-      const google_apis::AuthStatusCallback& callback) override;
+  void RequestAccessToken(google_apis::AuthStatusCallback callback) override;
   bool HasRefreshToken() const override;
   void ClearAccessToken() override;
   void ClearRefreshToken() override;
diff --git a/components/language_usage_metrics/BUILD.gn b/components/language_usage_metrics/BUILD.gn
index e5f9689e..960319f 100644
--- a/components/language_usage_metrics/BUILD.gn
+++ b/components/language_usage_metrics/BUILD.gn
@@ -8,16 +8,12 @@
     "language_usage_metrics.h",
   ]
 
-  deps = [
-    "//base",
-  ]
+  deps = [ "//base" ]
 }
 
 source_set("unit_tests") {
   testonly = true
-  sources = [
-    "language_usage_metrics_unittest.cc",
-  ]
+  sources = [ "language_usage_metrics_unittest.cc" ]
 
   deps = [
     ":language_usage_metrics",
diff --git a/components/mirroring/mojom/BUILD.gn b/components/mirroring/mojom/BUILD.gn
index b62d28b0..bcee9163 100644
--- a/components/mirroring/mojom/BUILD.gn
+++ b/components/mirroring/mojom/BUILD.gn
@@ -18,13 +18,9 @@
 }
 
 mojom("host") {
-  sources = [
-    "mirroring_service_host.mojom",
-  ]
+  sources = [ "mirroring_service_host.mojom" ]
 
-  public_deps = [
-    ":common",
-  ]
+  public_deps = [ ":common" ]
 }
 
 mojom("service") {
diff --git a/components/mirroring/service/BUILD.gn b/components/mirroring/service/BUILD.gn
index 62b48a8..7ecc422 100644
--- a/components/mirroring/service/BUILD.gn
+++ b/components/mirroring/service/BUILD.gn
@@ -38,9 +38,7 @@
     "wifi_status_monitor.h",
   ]
 
-  public_deps = [
-    "//base",
-  ]
+  public_deps = [ "//base" ]
 
   deps = [
     "//components/mirroring/mojom:service",
diff --git a/components/optimization_guide/BUILD.gn b/components/optimization_guide/BUILD.gn
index ff11d51..88022d4 100644
--- a/components/optimization_guide/BUILD.gn
+++ b/components/optimization_guide/BUILD.gn
@@ -19,6 +19,8 @@
     "hints_fetcher.h",
     "hints_processing_util.cc",
     "hints_processing_util.h",
+    "memory_hint.cc",
+    "memory_hint.h",
     "optimization_filter.cc",
     "optimization_filter.h",
     "optimization_guide_constants.cc",
@@ -39,8 +41,6 @@
     "store_update_data.cc",
     "store_update_data.h",
     "top_host_provider.h",
-    "url_keyed_hint.cc",
-    "url_keyed_hint.h",
     "url_pattern_with_wildcards.cc",
     "url_pattern_with_wildcards.h",
   ]
diff --git a/components/optimization_guide/hint_cache.cc b/components/optimization_guide/hint_cache.cc
index 8d3bf54..e140b0c 100644
--- a/components/optimization_guide/hint_cache.cc
+++ b/components/optimization_guide/hint_cache.cc
@@ -133,7 +133,7 @@
   }
 
   // Run the callback with the hint from the host-keyed cache.
-  std::move(callback).Run(hint_it->second.get());
+  std::move(callback).Run(hint_it->second.get()->hint());
 }
 
 const proto::Hint* HintCache::GetHostKeyedHintIfLoaded(
@@ -143,18 +143,24 @@
   // Try to retrieve the hint entry key for the host. If no hint exists for the
   // host, then simply return.
   OptimizationGuideStore::EntryKey hint_entry_key;
-  if (!optimization_guide_store_->FindHintEntryKey(host, &hint_entry_key)) {
+  if (!optimization_guide_store_->FindHintEntryKey(host, &hint_entry_key))
     return nullptr;
-  }
 
   // Find the hint within the host-keyed cache. It will only be available here
   // if it has been loaded recently enough to be retained within the MRU cache.
   auto hint_it = host_keyed_cache_.Get(hint_entry_key);
-  if (hint_it != host_keyed_cache_.end()) {
-    return hint_it->second.get();
+  if (hint_it == host_keyed_cache_.end())
+    return nullptr;
+
+  MemoryHint* hint = hint_it->second.get();
+  // Make sure the hint is not expired before propagating it up.
+  if (hint->expiry_time().has_value() && *hint->expiry_time() < clock_->Now()) {
+    // The hint is expired so remove it from the cache.
+    host_keyed_cache_.Erase(hint_it);
+    return nullptr;
   }
 
-  return nullptr;
+  return hint->hint();
 }
 
 proto::Hint* HintCache::GetURLKeyedHint(const GURL& url) {
@@ -167,9 +173,10 @@
   if (hint_it == url_keyed_hint_cache_.end())
     return nullptr;
 
-  URLKeyedHint* hint = hint_it->second.get();
-  if (hint->expiration_time() > clock_->Now())
-    return hint->url_keyed_hint();
+  MemoryHint* hint = hint_it->second.get();
+  DCHECK(hint->expiry_time().has_value());
+  if (*hint->expiry_time() > clock_->Now())
+    return hint->hint();
 
   // The hint is expired so remove it from the cache.
   url_keyed_hint_cache_.Erase(hint_it);
@@ -191,7 +198,7 @@
 void HintCache::OnLoadStoreHint(
     HintLoadedCallback callback,
     const OptimizationGuideStore::EntryKey& hint_entry_key,
-    std::unique_ptr<proto::Hint> hint) {
+    std::unique_ptr<MemoryHint> hint) {
   DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
   if (!hint) {
     std::move(callback).Run(nullptr);
@@ -206,7 +213,7 @@
     hint_it = host_keyed_cache_.Put(hint_entry_key, std::move(hint));
   }
 
-  std::move(callback).Run(hint_it->second.get());
+  std::move(callback).Run(hint_it->second.get()->hint());
 }
 
 bool HintCache::ProcessAndCacheHints(
@@ -246,7 +253,7 @@
         if (IsValidURLForURLKeyedHint(GURL(hint_key))) {
           url_keyed_hint_cache_.Put(
               hint_key,
-              std::make_unique<URLKeyedHint>(expiry_time, std::move(hint)));
+              std::make_unique<MemoryHint>(expiry_time, std::move(hint)));
         }
         break;
       case proto::REPRESENTATION_UNSPECIFIED:
diff --git a/components/optimization_guide/hint_cache.h b/components/optimization_guide/hint_cache.h
index 1cfe81f..65820719 100644
--- a/components/optimization_guide/hint_cache.h
+++ b/components/optimization_guide/hint_cache.h
@@ -13,9 +13,9 @@
 #include "base/optional.h"
 #include "base/sequence_checker.h"
 #include "base/time/clock.h"
+#include "components/optimization_guide/memory_hint.h"
 #include "components/optimization_guide/optimization_guide_store.h"
 #include "components/optimization_guide/proto/hints.pb.h"
-#include "components/optimization_guide/url_keyed_hint.h"
 
 class GURL;
 
@@ -128,10 +128,10 @@
  private:
   using HostKeyedHintCache =
       base::HashingMRUCache<OptimizationGuideStore::EntryKey,
-                            std::unique_ptr<proto::Hint>>;
+                            std::unique_ptr<MemoryHint>>;
 
   using URLKeyedHintCache =
-      base::HashingMRUCache<std::string, std::unique_ptr<URLKeyedHint>>;
+      base::HashingMRUCache<std::string, std::unique_ptr<MemoryHint>>;
 
   // The callback run after the store finishes initialization. This then runs
   // the callback initially provided by the Initialize() call.
@@ -144,7 +144,7 @@
   void OnLoadStoreHint(
       HintLoadedCallback callback,
       const OptimizationGuideStore::EntryKey& store_hint_entry_key,
-      std::unique_ptr<proto::Hint> hint);
+      std::unique_ptr<MemoryHint> hint);
 
   // The backing store used with this hint cache. Set during construction.
   const std::unique_ptr<OptimizationGuideStore> optimization_guide_store_;
diff --git a/components/optimization_guide/memory_hint.cc b/components/optimization_guide/memory_hint.cc
new file mode 100644
index 0000000..184f3d91
--- /dev/null
+++ b/components/optimization_guide/memory_hint.cc
@@ -0,0 +1,19 @@
+// Copyright 2020 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.
+
+#include "components/optimization_guide/memory_hint.h"
+
+namespace optimization_guide {
+
+MemoryHint::MemoryHint(const base::Optional<base::Time>& expiry_time,
+                       std::unique_ptr<proto::Hint> hint)
+    : expiry_time_(expiry_time), hint_(std::move(hint)) {}
+
+MemoryHint::MemoryHint(const base::Time expiry_time, proto::Hint&& hint)
+    : expiry_time_(base::Optional<base::Time>(expiry_time)),
+      hint_(std::make_unique<proto::Hint>(hint)) {}
+
+MemoryHint::~MemoryHint() = default;
+
+}  // namespace optimization_guide
diff --git a/components/optimization_guide/memory_hint.h b/components/optimization_guide/memory_hint.h
new file mode 100644
index 0000000..77a5e1b
--- /dev/null
+++ b/components/optimization_guide/memory_hint.h
@@ -0,0 +1,40 @@
+// Copyright 2020 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 COMPONENTS_OPTIMIZATION_GUIDE_MEMORY_HINT_H_
+#define COMPONENTS_OPTIMIZATION_GUIDE_MEMORY_HINT_H_
+
+#include "base/optional.h"
+#include "base/time/time.h"
+#include "components/optimization_guide/proto/hint_cache.pb.h"
+#include "components/optimization_guide/proto/hints.pb.h"
+
+namespace optimization_guide {
+
+// A representation of a hint to be used by in-memory caches.
+class MemoryHint {
+ public:
+  MemoryHint(const base::Optional<base::Time>& expiry_time,
+             std::unique_ptr<proto::Hint> hint);
+  MemoryHint(base::Time expiry_time, proto::Hint&& hint);
+  MemoryHint(const MemoryHint&) = delete;
+  MemoryHint& operator=(const MemoryHint&) = delete;
+  ~MemoryHint();
+
+  // This value is not available if |hint_| was sourced from the Optimization
+  // Hints component. Otherwise, it is set.
+  const base::Optional<base::Time> expiry_time() const { return expiry_time_; }
+  // It is the responsibility of the callers to avoid use-after-free references
+  // that may occur if the containing object is evicted from an in-memory
+  // cache.
+  optimization_guide::proto::Hint* hint() const { return hint_.get(); }
+
+ private:
+  base::Optional<base::Time> expiry_time_;
+  std::unique_ptr<proto::Hint> hint_;
+};
+
+}  // namespace optimization_guide
+
+#endif  // COMPONENTS_OPTIMIZATION_GUIDE_MEMORY_HINT_H_
diff --git a/components/optimization_guide/optimization_guide_store.cc b/components/optimization_guide/optimization_guide_store.cc
index 533b59e..85dccb6 100644
--- a/components/optimization_guide/optimization_guide_store.cc
+++ b/components/optimization_guide/optimization_guide_store.cc
@@ -13,6 +13,7 @@
 #include "components/leveldb_proto/public/proto_database.h"
 #include "components/leveldb_proto/public/proto_database_provider.h"
 #include "components/leveldb_proto/public/shared_proto_database_client_list.h"
+#include "components/optimization_guide/memory_hint.h"
 #include "components/optimization_guide/optimization_guide_prefs.h"
 #include "components/optimization_guide/proto/hint_cache.pb.h"
 
@@ -793,8 +794,8 @@
   }
 
   if (!entry || !entry->has_hint()) {
-    std::unique_ptr<proto::Hint> loaded_hint(nullptr);
-    std::move(callback).Run(entry_key, std::move(loaded_hint));
+    std::unique_ptr<MemoryHint> memory_hint;
+    std::move(callback).Run(entry_key, std::move(memory_hint));
     return;
   }
 
@@ -806,31 +807,31 @@
     // fresh hints are fetched and placed into the store. In the future, the
     // expired hints could be asynchronously removed if necessary.
     // An empty hint is returned instead of the expired one.
-    UMA_HISTOGRAM_BOOLEAN(
+    LOCAL_HISTOGRAM_BOOLEAN(
         "OptimizationGuide.HintCacheStore.OnLoadHint.FetchedHintExpired", true);
-    std::unique_ptr<proto::Hint> loaded_hint(nullptr);
-    std::move(callback).Run(entry_key, std::move(loaded_hint));
+    std::unique_ptr<MemoryHint> memory_hint(nullptr);
+    std::move(callback).Run(entry_key, std::move(memory_hint));
     return;
   }
 
-  // Release the Hint into a Hint unique_ptr. This eliminates the need for any
-  // copies of the entry's hint.
-  std::unique_ptr<proto::Hint> loaded_hint(entry->release_hint());
-
   StoreEntryType store_entry_type =
       static_cast<StoreEntryType>(entry->entry_type());
   UMA_HISTOGRAM_ENUMERATION("OptimizationGuide.HintCache.HintType.Loaded",
                             store_entry_type);
 
-  if (store_entry_type == StoreEntryType::kFetchedHint) {
-    UMA_HISTOGRAM_CUSTOM_TIMES(
+  base::Optional<base::Time> expiry_time;
+  if (entry->has_expiry_time_secs()) {
+    expiry_time = base::Time::FromDeltaSinceWindowsEpoch(
+        base::TimeDelta::FromSeconds(entry->expiry_time_secs()));
+    LOCAL_HISTOGRAM_CUSTOM_TIMES(
         "OptimizationGuide.HintCache.FetchedHint.TimeToExpiration",
-        base::Time::FromDeltaSinceWindowsEpoch(
-            base::TimeDelta::FromSeconds(entry->expiry_time_secs())) -
-            base::Time::Now(),
-        base::TimeDelta::FromHours(1), base::TimeDelta::FromDays(15), 50);
+        *expiry_time - base::Time::Now(), base::TimeDelta::FromHours(1),
+        base::TimeDelta::FromDays(15), 50);
   }
-  std::move(callback).Run(entry_key, std::move(loaded_hint));
+  std::move(callback).Run(
+      entry_key,
+      std::make_unique<MemoryHint>(
+          expiry_time, std::unique_ptr<proto::Hint>(entry->release_hint())));
 }
 
 std::unique_ptr<StoreUpdateData>
diff --git a/components/optimization_guide/optimization_guide_store.h b/components/optimization_guide/optimization_guide_store.h
index 42978f6..9e10ca9 100644
--- a/components/optimization_guide/optimization_guide_store.h
+++ b/components/optimization_guide/optimization_guide_store.h
@@ -18,6 +18,7 @@
 #include "base/version.h"
 #include "components/leveldb_proto/public/proto_database.h"
 #include "components/leveldb_proto/public/proto_database_provider.h"
+#include "components/optimization_guide/memory_hint.h"
 #include "components/optimization_guide/proto/models.pb.h"
 #include "components/optimization_guide/store_update_data.h"
 
@@ -27,7 +28,6 @@
 
 namespace optimization_guide {
 namespace proto {
-class Hint;
 class StoreEntry;
 }  // namespace proto
 
@@ -38,8 +38,7 @@
 class OptimizationGuideStore {
  public:
   using HintLoadedCallback =
-      base::OnceCallback<void(const std::string&,
-                              std::unique_ptr<proto::Hint>)>;
+      base::OnceCallback<void(const std::string&, std::unique_ptr<MemoryHint>)>;
   using PredictionModelLoadedCallback =
       base::OnceCallback<void(std::unique_ptr<proto::PredictionModel>)>;
   using HostModelFeaturesLoadedCallback =
diff --git a/components/optimization_guide/optimization_guide_store_unittest.cc b/components/optimization_guide/optimization_guide_store_unittest.cc
index a632bd16..39262efe 100644
--- a/components/optimization_guide/optimization_guide_store_unittest.cc
+++ b/components/optimization_guide/optimization_guide_store_unittest.cc
@@ -426,7 +426,7 @@
     return last_loaded_entry_key_;
   }
 
-  proto::Hint* last_loaded_hint() { return last_loaded_hint_.get(); }
+  MemoryHint* last_loaded_hint() { return last_loaded_hint_.get(); }
 
   proto::HostModelFeatures* last_loaded_host_model_features() {
     return last_loaded_host_model_features_.get();
@@ -441,7 +441,7 @@
   }
 
   void OnHintLoaded(const OptimizationGuideStore::EntryKey& hint_entry_key,
-                    std::unique_ptr<proto::Hint> loaded_hint) {
+                    std::unique_ptr<MemoryHint> loaded_hint) {
     last_loaded_entry_key_ = hint_entry_key;
     last_loaded_hint_ = std::move(loaded_hint);
   }
@@ -472,7 +472,7 @@
   std::unique_ptr<OptimizationGuideStore> guide_store_;
 
   OptimizationGuideStore::EntryKey last_loaded_entry_key_;
-  std::unique_ptr<proto::Hint> last_loaded_hint_;
+  std::unique_ptr<MemoryHint> last_loaded_hint_;
   std::unique_ptr<proto::HostModelFeatures> last_loaded_host_model_features_;
   std::unique_ptr<std::vector<proto::HostModelFeatures>>
       last_loaded_all_host_model_features_;
@@ -1294,7 +1294,8 @@
       continue;
     }
 
-    EXPECT_EQ(last_loaded_hint()->key(), host_suffix);
+    EXPECT_EQ(last_loaded_hint()->hint()->key(), host_suffix);
+    EXPECT_FALSE(last_loaded_hint()->expiry_time().has_value());
   }
 }
 
@@ -1337,7 +1338,8 @@
       continue;
     }
 
-    EXPECT_EQ(last_loaded_hint()->key(), host_suffix);
+    EXPECT_EQ(last_loaded_hint()->hint()->key(), host_suffix);
+    EXPECT_FALSE(last_loaded_hint()->expiry_time().has_value());
   }
 }
 
@@ -1734,6 +1736,69 @@
       1);
 }
 
+TEST_F(OptimizationGuideStoreTest, FetchedHintsLoadPopulatesExpiryTime) {
+  base::HistogramTester histogram_tester;
+  MetadataSchemaState schema_state = MetadataSchemaState::kValid;
+  size_t initial_hint_count = 10;
+  base::Time update_time = base::Time().Now();
+  SeedInitialData(schema_state, initial_hint_count);
+  CreateDatabase();
+  InitializeStore(schema_state);
+
+  base::Version version("2.0.0");
+  std::unique_ptr<StoreUpdateData> update_data =
+      guide_store()->MaybeCreateUpdateDataForComponentHints(
+          base::Version(kUpdateComponentVersion));
+  ASSERT_TRUE(update_data);
+
+  proto::Hint hint1;
+  hint1.set_key("domain1.org");
+  hint1.set_key_representation(proto::HOST_SUFFIX);
+  update_data->MoveHintIntoUpdateData(std::move(hint1));
+  proto::Hint hint2;
+  hint2.set_key("host.domain2.org");
+  hint2.set_key_representation(proto::HOST_SUFFIX);
+  update_data->MoveHintIntoUpdateData(std::move(hint2));
+
+  UpdateComponentHints(std::move(update_data));
+
+  // Add fetched hints to the store that expired.
+  update_data = guide_store()->CreateUpdateDataForFetchedHints(update_time);
+
+  proto::Hint fetched_hint1;
+  fetched_hint1.set_key("domain2.org");
+  fetched_hint1.set_key_representation(proto::HOST_SUFFIX);
+  fetched_hint1.mutable_max_cache_duration()->set_seconds(
+      base::TimeDelta().FromDays(10).InSeconds());
+  update_data->MoveHintIntoUpdateData(std::move(fetched_hint1));
+  proto::Hint fetched_hint2;
+  fetched_hint2.set_key("domain3.org");
+  fetched_hint2.set_key_representation(proto::HOST_SUFFIX);
+  update_data->MoveHintIntoUpdateData(std::move(fetched_hint2));
+
+  UpdateFetchedHints(std::move(update_data));
+
+  // Hint for host.domain2.org should be a fetched hint ("3_" prefix)
+  // as fetched hints take priority.
+  std::string host_suffix = "host.domain2.org";
+  OptimizationGuideStore::EntryKey hint_entry_key;
+  if (!guide_store()->FindHintEntryKey(host_suffix, &hint_entry_key)) {
+    FAIL() << "Hint entry not found for host suffix: " << host_suffix;
+  }
+  EXPECT_EQ(hint_entry_key, "3_domain2.org");
+  guide_store()->LoadHint(
+      hint_entry_key, base::BindOnce(&OptimizationGuideStoreTest::OnHintLoaded,
+                                     base::Unretained(this)));
+
+  // OnLoadHint callback
+  db()->GetCallback(true);
+
+  // |hint_entry_key| will be a fetched hint but the entry will be empty.
+  EXPECT_EQ(last_loaded_entry_key(), hint_entry_key);
+  EXPECT_TRUE(last_loaded_hint());
+  EXPECT_TRUE(last_loaded_hint()->expiry_time().has_value());
+}
+
 TEST_F(OptimizationGuideStoreTest, FindPredictionModelEntryKey) {
   MetadataSchemaState schema_state = MetadataSchemaState::kValid;
   SeedInitialData(schema_state, 0);
diff --git a/components/optimization_guide/url_keyed_hint.cc b/components/optimization_guide/url_keyed_hint.cc
deleted file mode 100644
index 25a0dae9..0000000
--- a/components/optimization_guide/url_keyed_hint.cc
+++ /dev/null
@@ -1,13 +0,0 @@
-// Copyright 2020 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.
-
-#include "components/optimization_guide/url_keyed_hint.h"
-
-URLKeyedHint::URLKeyedHint(const base::Time expiration_time,
-                           optimization_guide::proto::Hint&& url_keyed_hint)
-    : expiration_time_(expiration_time),
-      url_keyed_hint_(
-          std::make_unique<optimization_guide::proto::Hint>(url_keyed_hint)) {}
-
-URLKeyedHint::~URLKeyedHint() = default;
\ No newline at end of file
diff --git a/components/optimization_guide/url_keyed_hint.h b/components/optimization_guide/url_keyed_hint.h
deleted file mode 100644
index e732173..0000000
--- a/components/optimization_guide/url_keyed_hint.h
+++ /dev/null
@@ -1,31 +0,0 @@
-// Copyright 2020 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 COMPONENTS_OPTIMIZATION_GUIDE_URL_KEYED_HINT_H_
-#define COMPONENTS_OPTIMIZATION_GUIDE_URL_KEYED_HINT_H_
-
-#include "base/time/time.h"
-#include "components/optimization_guide/proto/hints.pb.h"
-
-// Holds a hint keyed by URL and its expiration time, used to maintain URL-keyed
-// hints in memory.
-class URLKeyedHint {
- public:
-  URLKeyedHint(const base::Time expiration_time,
-               optimization_guide::proto::Hint&& url_keyed_hint);
-  ~URLKeyedHint();
-
-  const base::Time expiration_time() const { return expiration_time_; }
-  optimization_guide::proto::Hint* url_keyed_hint() const {
-    return url_keyed_hint_.get();
-  }
-
- private:
-  const base::Time expiration_time_;
-  std::unique_ptr<optimization_guide::proto::Hint> url_keyed_hint_;
-
-  DISALLOW_COPY_AND_ASSIGN(URLKeyedHint);
-};
-
-#endif  // COMPONENTS_OPTIMIZATION_GUIDE_URL_KEYED_HINT_H_
\ No newline at end of file
diff --git a/components/page_info_strings.grdp b/components/page_info_strings.grdp
index ea2de4c5..b503291 100644
--- a/components/page_info_strings.grdp
+++ b/components/page_info_strings.grdp
@@ -282,6 +282,13 @@
     <message name="IDS_PAGE_INFO_TYPE_NFC" desc="The label used for the NFC permission controls in the Page Info popup.">
       NFC devices
     </message>
+      <!-- TODO(crbug.com/1041009): Finalize WebXr Permissions strings -->
+    <message name="IDS_PAGE_INFO_TYPE_VR" desc="The label used for the VR permission controls in the Page Info popup.">
+      Virtual Reality
+    </message>
+    <message name="IDS_PAGE_INFO_TYPE_AR" desc="The label used for the AR permission controls in the Page Info popup.">
+      Augmented Reality
+    </message>
     <!-- TODO(crbug.com/716303): A few permissions are missing here. -->
 
     <!-- Permission values -->
diff --git a/components/policy/proto/chrome_device_policy.proto b/components/policy/proto/chrome_device_policy.proto
index a15a7df9..875a4507 100644
--- a/components/policy/proto/chrome_device_policy.proto
+++ b/components/policy/proto/chrome_device_policy.proto
@@ -830,6 +830,15 @@
   optional bool login_screen_show_options_in_system_tray_menu_enabled = 32;
   optional PolicyOptions
       login_screen_show_options_in_system_tray_menu_enabled_options = 33;
+
+  // Sets whether all the accessibility features shortcuts are being enabled or
+  // not on the login screen. If this policy is set to true, the accessibility
+  // shortcuts are going to be enabled when the login screen is shown. If this
+  // policy is set to false, the accessibility shortcuts are going to be
+  // disabled when the login screen is shown. If this policy is left unset, the
+  // accessibility shortcuts are going to be enabled on the login screen.
+  optional bool login_screen_shortcuts_enabled = 34;
+  optional PolicyOptions login_screen_shortcuts_enabled_options = 35;
 }
 
 message SupervisedUsersSettingsProto {
diff --git a/components/policy/resources/policy_templates.json b/components/policy/resources/policy_templates.json
index 4f83621f..6c7d662 100644
--- a/components/policy/resources/policy_templates.json
+++ b/components/policy/resources/policy_templates.json
@@ -664,6 +664,7 @@
         'DeviceLoginScreenKeyboardFocusHighlightEnabled',
         'DeviceLoginScreenScreenMagnifierType',
         'DeviceLoginScreenShowOptionsInSystemTrayMenu',
+        'DeviceLoginScreenAccessibilityShortcutsEnabled',
       ],
     },
     {
@@ -10327,6 +10328,31 @@
           If this policy is left unset, high contrast mode is disabled initially but can be enabled by the user anytime.'''
     },
     {
+      'name': 'DeviceLoginScreenAccessibilityShortcutsEnabled',
+      'owners': ['amraboelkher@chromium.org', 'emaxx@chromium.org'],
+      'type': 'main',
+      'schema': { 'type': 'boolean' },
+      'supported_on': ['chrome_os:81-'],
+      'features': {
+        'can_be_recommended': True,
+        'dynamic_refresh': True,
+        'per_profile': True,
+      },
+      'example_value': True,
+      'id': 661,
+      'caption': '''Enable accessibility features shortcuts on the login screen''',
+      'tags': [],
+      'desc': '''Enable accessibility features shortcuts on the login screen.
+
+          If this policy is set to true, accessibility features shortcuts will always be enabled on the login screen.
+
+          If this policy is set to false, accessibility features shortcuts will always be disabled on the login screen.
+
+          If you set this policy, users cannot change or override it.
+
+          If this policy is left unset, accessibility features shortcuts will be enabled by default on the login screen.'''
+    },
+    {
       'name': 'AccessibilityShortcutsEnabled',
       'owners': ['amraboelkher@chromium.org', 'emaxx@chromium.org'],
       'type': 'main',
@@ -19768,6 +19794,7 @@
     'DeviceLoginScreenDefaultSpokenFeedbackEnabled': 'accessibility_settings.login_screen_default_spoken_feedback_enabled',
     'DeviceLoginScreenDefaultHighContrastEnabled': 'accessibility_settings.login_screen_default_high_contrast_enabled',
     'DeviceLoginScreenHighContrastEnabled': 'accessibility_settings.login_screen_high_contrast_enabled',
+    'DeviceLoginScreenAccessibilityShortcutsEnabled': 'accessibility_settings.login_screen_shortcuts_enabled',
     'DeviceLoginScreenDefaultScreenMagnifierType': 'accessibility_settings.login_screen_default_screen_magnifier_type',
     'DeviceLoginScreenScreenMagnifierType': 'accessibility_settings.login_screen_screen_magnifier_type',
     'DeviceLoginScreenDefaultVirtualKeyboardEnabled': 'accessibility_settings.login_screen_default_virtual_keyboard_enabled',
@@ -20295,6 +20322,6 @@
   ],
   'placeholders': [],
   'deleted_policy_ids': [412, 546, 562, 569, 578],
-  'highest_id_currently_used': 660,
+  'highest_id_currently_used': 661,
   'highest_atomic_group_id_currently_used': 38
 }
diff --git a/components/previews/content/previews_user_data.h b/components/previews/content/previews_user_data.h
index b9f7233a..98f9e09 100644
--- a/components/previews/content/previews_user_data.h
+++ b/components/previews/content/previews_user_data.h
@@ -31,10 +31,6 @@
       return std::make_unique<ServerLitePageInfo>(*this);
     }
 
-    // The start time of the original navigation, that is, the one started by
-    // the user.
-    base::TimeTicks original_navigation_start = base::TimeTicks();
-
     // The page id used for this preview.
     uint64_t page_id = 0;
 
diff --git a/components/previews/content/previews_user_data_unittest.cc b/components/previews/content/previews_user_data_unittest.cc
index acddd0e..638f9466 100644
--- a/components/previews/content/previews_user_data_unittest.cc
+++ b/components/previews/content/previews_user_data_unittest.cc
@@ -47,8 +47,6 @@
   EXPECT_FALSE(data->offline_preview_used());
   EXPECT_EQ(data->server_lite_page_info(), nullptr);
 
-  base::TimeTicks now = base::TimeTicks::Now();
-
   data->set_data_savings_inflation_percent(123);
   data->set_cache_control_no_transform_directive();
   data->SetCommittedPreviewsType(previews::PreviewsType::NOSCRIPT);
@@ -56,7 +54,6 @@
   data->set_black_listed_for_lite_page(true);
   data->set_server_lite_page_info(
       std::make_unique<PreviewsUserData::ServerLitePageInfo>());
-  data->server_lite_page_info()->original_navigation_start = now;
 
   PreviewsUserData data_copy(*data);
   EXPECT_EQ(id, data_copy.page_id());
@@ -68,7 +65,6 @@
   EXPECT_TRUE(data_copy.black_listed_for_lite_page());
   EXPECT_TRUE(data_copy.offline_preview_used());
   EXPECT_NE(data->server_lite_page_info(), nullptr);
-  EXPECT_EQ(data->server_lite_page_info()->original_navigation_start, now);
 }
 
 TEST(PreviewsUserDataTest, TestCoinFlip_HasCommittedPreviewsType) {
diff --git a/components/safe_browsing/android/java/src/org/chromium/components/safe_browsing/SafeBrowsingApiBridge.java b/components/safe_browsing/android/java/src/org/chromium/components/safe_browsing/SafeBrowsingApiBridge.java
index 1cf2fb65..c5b3488 100644
--- a/components/safe_browsing/android/java/src/org/chromium/components/safe_browsing/SafeBrowsingApiBridge.java
+++ b/components/safe_browsing/android/java/src/org/chromium/components/safe_browsing/SafeBrowsingApiBridge.java
@@ -8,7 +8,6 @@
 import org.chromium.base.annotations.CalledByNative;
 import org.chromium.base.annotations.JNINamespace;
 import org.chromium.base.annotations.NativeMethods;
-import org.chromium.base.metrics.RecordHistogram;
 
 import java.lang.reflect.InvocationTargetException;
 
@@ -93,16 +92,7 @@
     @CalledByNative
     private static boolean startAllowlistLookup(
             SafeBrowsingApiHandler handler, String uri, int threatType) {
-        long allowlistLookupStartTime = System.currentTimeMillis();
-        boolean matched = handler.startAllowlistLookup(uri, threatType);
-        recordAllowlistLookupTimeInMs(System.currentTimeMillis() - allowlistLookupStartTime);
-        return matched;
-    }
-
-    // Histograms
-    private static void recordAllowlistLookupTimeInMs(long lookupTimeInMs) {
-        RecordHistogram.recordTimesHistogram(
-                "SB2.RemoteCall.LocalAllowlistLookupTime", lookupTimeInMs);
+        return handler.startAllowlistLookup(uri, threatType);
     }
 
     @NativeMethods
diff --git a/components/search_engines/prepopulated_engines.json b/components/search_engines/prepopulated_engines.json
index d4679b3..933cd564 100644
--- a/components/search_engines/prepopulated_engines.json
+++ b/components/search_engines/prepopulated_engines.json
@@ -23,12 +23,12 @@
     // When adding new engines, increment this number and use it as the new
     // max ID. This is used by UMA stats and must be updated to include the full
     // range or else not all engines will be counted in stats.
-    "kMaxPrepopulatedEngineID": 100,
+    "kMaxPrepopulatedEngineID": 101,
 
     // Increment this if you change the data in ways that mean users with
     // existing data should get a new version. Otherwise, existing data may
     // continue to be used and updates made here will not always appear.
-    "kCurrentDataVersion": 117
+    "kCurrentDataVersion": 121
   },
 
   // The following engines are included in country lists and are added to the
@@ -102,6 +102,16 @@
       "id": 92
     },
 
+    "ecosia": {
+      "name": "Ecosia",
+      "keyword": "ecosia.org",
+      "favicon_url": "https://cdn.ecosia.org/assets/images/ico/favicon.ico",
+      "search_url": "https://www.ecosia.org/search?q={searchTerms}&addon=opensearch",
+      "suggest_url": "https://ac.ecosia.org/autocomplete?q={searchTerms}&type=list",
+      "type": "SEARCH_ENGINE_ECOSIA",
+      "id": 101
+    },
+
     "google": {
       "name": "Google",
       "keyword": "google.com",
@@ -341,9 +351,7 @@
       "search_url": "https://fr.search.yahoo.com/search{google:pathWildcard}?ei={inputEncoding}&fr=crmas&p={searchTerms}",
       "suggest_url": "https://fr.search.yahoo.com/sugg/chrome?output=fxjson&appid=crmas&command={searchTerms}",
       "type": "SEARCH_ENGINE_YAHOO",
-
-      // Can't be 2 as this has to appear in the Belgium list alongside yahoo.
-      "id": 5
+      "id": 2
     },
 
     "yahoo_hk": {
@@ -446,18 +454,6 @@
       "id": 2
     },
 
-    "yahoo_qc": {
-      "name": "Yahoo! Qu\u00e9bec",
-      "keyword": "qc.yahoo.com",
-      "favicon_url": "https://qc.search.yahoo.com/favicon.ico",
-      "search_url": "https://qc.search.yahoo.com/search{google:pathWildcard}?ei={inputEncoding}&fr=crmas&p={searchTerms}",
-      "suggest_url": "https://qc.search.yahoo.com/sugg/chrome?output=fxjson&appid=crmas&command={searchTerms}",
-      "type": "SEARCH_ENGINE_YAHOO",
-
-      // Can't be 2 as this has to appear in the Canada list alongside yahoo_ca.
-      "id": 5
-    },
-
     "yahoo_se": {
       "name": "Yahoo! Sverige",
       "keyword": "se.yahoo.com",
@@ -1125,6 +1121,16 @@
       "id": 76
     },
 
+    "yahoo_qc": {
+      "name": "Yahoo! Qu\u00e9bec",
+      "keyword": "qc.yahoo.com",
+      "favicon_url": "https://qc.search.yahoo.com/favicon.ico",
+      "search_url": "https://qc.search.yahoo.com/search{google:pathWildcard}?ei={inputEncoding}&fr=crmas&p={searchTerms}",
+      "suggest_url": "https://qc.search.yahoo.com/sugg/chrome?output=fxjson&appid=crmas&command={searchTerms}",
+      "type": "SEARCH_ENGINE_YAHOO",
+      "id": 2
+    },
+
     "zoznam": {
       "name": "Zoznam",
       "keyword": "zoznam.sk",
diff --git a/components/search_engines/search_engine_type.h b/components/search_engines/search_engine_type.h
index ff303b8..707c5c8 100644
--- a/components/search_engines/search_engine_type.h
+++ b/components/search_engines/search_engine_type.h
@@ -73,6 +73,7 @@
   SEARCH_ENGINE_METAGER,
   SEARCH_ENGINE_OCEANHERO,
   SEARCH_ENGINE_PRIVACYWALL,
+  SEARCH_ENGINE_ECOSIA,
 
   SEARCH_ENGINE_MAX  // Bounding value needed for UMA histogram macro.
 };
diff --git a/components/search_engines/template_url_prepopulate_data.cc b/components/search_engines/template_url_prepopulate_data.cc
index afd8d81a..60c60a4d 100644
--- a/components/search_engines/template_url_prepopulate_data.cc
+++ b/components/search_engines/template_url_prepopulate_data.cc
@@ -45,6 +45,7 @@
     &bing,
     &yahoo,
     &duckduckgo,
+    &yandex_ru,
 };
 
 // Albania
@@ -52,7 +53,8 @@
     &google,
     &yahoo,
     &bing,
-    &ask,
+    &duckduckgo,
+    &yandex_ru,
 };
 
 // Argentina
@@ -61,29 +63,33 @@
     &bing,
     &yahoo_ar,
     &duckduckgo,
+    &ecosia,
 };
 
 // Austria
 const PrepopulatedEngine* const engines_AT[] = {
     &google,
     &bing,
-    &yahoo_at,
     &duckduckgo,
+    &yahoo_at,
+    &ecosia,
 };
 
 // Australia
 const PrepopulatedEngine* const engines_AU[] = {
     &google,
     &bing,
-    &yahoo_au,
     &duckduckgo,
+    &yahoo_au,
+    &ecosia,
 };
 
 // Bosnia and Herzegovina
 const PrepopulatedEngine* const engines_BA[] = {
     &google,
-    &yahoo,
     &bing,
+    &yahoo,
+    &duckduckgo,
     &ask,
 };
 
@@ -92,6 +98,7 @@
     &google,
     &bing,
     &yahoo,
+    &ecosia,
     &duckduckgo,
 };
 
@@ -100,6 +107,7 @@
     &google,
     &bing,
     &yahoo,
+    &duckduckgo,
     &yandex_ru,
 };
 
@@ -108,7 +116,8 @@
     &google,
     &bing,
     &yahoo,
-    &ask,
+    &duckduckgo,
+    &ecosia,
 };
 
 // Burundi
@@ -116,7 +125,8 @@
     &google,
     &bing,
     &yahoo,
-    &yandex_ru,
+    &duckduckgo,
+    &ask,
 };
 
 // Brunei
@@ -125,6 +135,7 @@
     &bing,
     &yahoo,
     &duckduckgo,
+    &ecosia,
 };
 
 // Bolivia
@@ -133,6 +144,7 @@
     &bing,
     &yahoo,
     &duckduckgo,
+    &ecosia,
 };
 
 // Brazil
@@ -141,6 +153,7 @@
     &bing,
     &yahoo_br,
     &duckduckgo,
+    &ecosia,
 };
 
 // Belarus
@@ -149,6 +162,7 @@
     &yandex_by,
     &mail_ru,
     &bing,
+    &yahoo,
 };
 
 // Belize
@@ -157,11 +171,16 @@
     &bing,
     &yahoo,
     &duckduckgo,
+    &ask,
 };
 
 // Canada
 const PrepopulatedEngine* const engines_CA[] = {
-    &google, &bing, &yahoo_ca, &yahoo_qc, &duckduckgo,
+    &google,
+    &bing,
+    &yahoo_ca,
+    &duckduckgo,
+    &ecosia,
 };
 
 // Switzerland
@@ -170,6 +189,7 @@
     &bing,
     &duckduckgo,
     &yahoo_ch,
+    &ecosia,
 };
 
 // Chile
@@ -178,18 +198,24 @@
     &bing,
     &yahoo_cl,
     &duckduckgo,
+    &ecosia,
 };
 
 // China
 const PrepopulatedEngine* const engines_CN[] = {
-    &baidu, &so_360, &google, &sogou, &bing,
+    &baidu,
+    &sogou,
+    &google,
+    &so_360,
+    &bing,
 };
 
 // Colombia
 const PrepopulatedEngine* const engines_CO[] = {
     &google,
-    &yahoo_co,
     &bing,
+    &yahoo_co,
+    &ecosia,
     &duckduckgo,
 };
 
@@ -199,6 +225,7 @@
     &bing,
     &yahoo,
     &duckduckgo,
+    &ecosia,
 };
 
 // Czech Republic
@@ -207,6 +234,7 @@
     &seznam_cz,
     &bing,
     &yahoo,
+    &duckduckgo,
 };
 
 // Germany
@@ -215,6 +243,7 @@
     &bing,
     &yahoo_de,
     &duckduckgo,
+    &ecosia,
 };
 
 // Denmark
@@ -223,6 +252,7 @@
     &bing,
     &yahoo_dk,
     &duckduckgo,
+    &ecosia,
 };
 
 // Dominican Republic
@@ -231,6 +261,7 @@
     &bing,
     &yahoo,
     &duckduckgo,
+    &ecosia,
 };
 
 // Algeria
@@ -239,6 +270,7 @@
     &yahoo,
     &bing,
     &yandex_ru,
+    &duckduckgo,
 };
 
 // Ecuador
@@ -246,6 +278,7 @@
     &google,
     &bing,
     &yahoo,
+    &ecosia,
     &duckduckgo,
 };
 
@@ -254,7 +287,8 @@
     &google,
     &bing,
     &yandex_ru,
-    &neti,
+    &yahoo,
+    &mail_ru,
 };
 
 // Egypt
@@ -263,6 +297,7 @@
     &yahoo,
     &bing,
     &yandex_ru,
+    &duckduckgo,
 };
 
 // Spain
@@ -271,6 +306,7 @@
     &bing,
     &yahoo_es,
     &duckduckgo,
+    &ecosia,
 };
 
 // Finland
@@ -279,14 +315,16 @@
     &bing,
     &yahoo_fi,
     &duckduckgo,
+    &yandex_ru,
 };
 
 // Faroe Islands
 const PrepopulatedEngine* const engines_FO[] = {
     &google,
     &bing,
-    &yahoo,
+    &yahoo_dk,
     &duckduckgo,
+    &ecosia,
 };
 
 // France
@@ -295,6 +333,7 @@
     &bing,
     &yahoo_fr,
     &qwant,
+    &ecosia,
 };
 
 // United Kingdom
@@ -303,6 +342,7 @@
     &bing,
     &yahoo_uk,
     &duckduckgo,
+    &ecosia,
 };
 
 // Greece
@@ -311,6 +351,7 @@
     &bing,
     &yahoo,
     &duckduckgo,
+    &yandex_ru,
 };
 
 // Guatemala
@@ -318,6 +359,7 @@
     &google,
     &bing,
     &yahoo,
+    &ecosia,
     &duckduckgo,
 };
 
@@ -326,6 +368,7 @@
     &google,
     &yahoo_hk,
     &bing,
+    &yandex_com,
     &baidu,
 };
 
@@ -334,6 +377,7 @@
     &google,
     &bing,
     &yahoo,
+    &yandex_ru,
     &duckduckgo,
 };
 
@@ -343,14 +387,16 @@
     &bing,
     &yahoo,
     &duckduckgo,
+    &ecosia,
 };
 
 // Hungary
 const PrepopulatedEngine* const engines_HU[] = {
     &google,
-    &yahoo,
     &bing,
+    &yahoo,
     &duckduckgo,
+    &ecosia,
 };
 
 // Indonesia
@@ -359,6 +405,7 @@
     &yahoo_id,
     &bing,
     &duckduckgo,
+    &yandex_com,
 };
 
 // Ireland
@@ -367,6 +414,7 @@
     &bing,
     &yahoo,
     &duckduckgo,
+    &ecosia,
 };
 
 // Israel
@@ -375,6 +423,7 @@
     &bing,
     &yahoo,
     &yandex_ru,
+    &duckduckgo,
 };
 
 // India
@@ -383,6 +432,7 @@
     &yahoo_in,
     &bing,
     &duckduckgo,
+    &yandex_ru,
 };
 
 // Iraq
@@ -391,6 +441,7 @@
     &yahoo,
     &bing,
     &yandex_ru,
+    &duckduckgo,
 };
 
 // Iran
@@ -398,14 +449,17 @@
     &google,
     &bing,
     &yahoo,
+    &yandex_ru,
+    &ask,
 };
 
 // Iceland
 const PrepopulatedEngine* const engines_IS[] = {
     &google,
     &bing,
-    &yahoo,
     &duckduckgo,
+    &yahoo,
+    &ecosia,
 };
 
 // Italy
@@ -414,6 +468,7 @@
     &bing,
     &yahoo,
     &duckduckgo,
+    &ecosia,
 };
 
 // Jamaica
@@ -422,14 +477,16 @@
     &bing,
     &yahoo,
     &duckduckgo,
+    &ask,
 };
 
 // Jordan
 const PrepopulatedEngine* const engines_JO[] = {
     &google,
-    &yahoo,
     &bing,
-    &yandex_ru,
+    &yahoo,
+    &duckduckgo,
+    &yandex_com,
 };
 
 // Japan
@@ -438,22 +495,25 @@
     &yahoo_jp,
     &bing,
     &baidu,
+    &duckduckgo,
 };
 
 // Kenya
 const PrepopulatedEngine* const engines_KE[] = {
     &google,
-    &yahoo,
     &bing,
+    &yahoo,
     &duckduckgo,
+    &yandex_ru,
 };
 
 // South Korea
 const PrepopulatedEngine* const engines_KR[] = {
     &google,
     &naver,
-    &daum,
     &bing,
+    &daum,
+    &yahoo_jp,
 };
 
 // Kuwait
@@ -461,7 +521,8 @@
     &google,
     &bing,
     &yahoo,
-    &ask,
+    &duckduckgo,
+    &yandex_com,
 };
 
 // Kazakhstan
@@ -470,6 +531,7 @@
     &yandex_kz,
     &mail_ru,
     &bing,
+    &yahoo,
 };
 
 // Lebanon
@@ -478,6 +540,7 @@
     &bing,
     &yahoo,
     &duckduckgo,
+    &ecosia,
 };
 
 // Liechtenstein
@@ -486,6 +549,7 @@
     &bing,
     &duckduckgo,
     &yahoo,
+    &ecosia,
 };
 
 // Lithuania
@@ -494,6 +558,7 @@
     &bing,
     &yahoo,
     &yandex_ru,
+    &duckduckgo,
 };
 
 // Luxembourg
@@ -502,14 +567,16 @@
     &bing,
     &duckduckgo,
     &yahoo,
+    &ecosia,
 };
 
 // Latvia
 const PrepopulatedEngine* const engines_LV[] = {
     &google,
-    &bing,
     &yandex_ru,
+    &bing,
     &yahoo,
+    &duckduckgo,
 };
 
 // Libya
@@ -518,6 +585,7 @@
     &yahoo,
     &bing,
     &yandex_com,
+    &duckduckgo,
 };
 
 // Morocco
@@ -525,15 +593,17 @@
     &google,
     &yahoo,
     &bing,
-    &yandex_ru,
+    &duckduckgo,
+    &yandex_com,
 };
 
 // Monaco
 const PrepopulatedEngine* const engines_MC[] = {
     &google,
     &bing,
-    &yahoo,
     &duckduckgo,
+    &yahoo,
+    &qwant,
 };
 
 // Moldova
@@ -542,22 +612,25 @@
     &yandex_ru,
     &mail_ru,
     &duckduckgo,
+    &bing,
 };
 
 // Montenegro
 const PrepopulatedEngine* const engines_ME[] = {
     &google,
-    &yahoo,
     &bing,
+    &yahoo,
     &yandex_ru,
+    &duckduckgo,
 };
 
 // Macedonia
 const PrepopulatedEngine* const engines_MK[] = {
     &google,
-    &yahoo,
     &bing,
+    &yahoo,
     &duckduckgo,
+    &yandex_ru,
 };
 
 // Mexico
@@ -565,14 +638,16 @@
     &google,
     &bing,
     &yahoo_mx,
+    &ecosia,
     &duckduckgo,
 };
 
 // Malaysia
 const PrepopulatedEngine* const engines_MY[] = {
     &google,
-    &yahoo_my,
     &bing,
+    &yahoo_my,
+    &duckduckgo,
     &baidu,
 };
 
@@ -582,6 +657,7 @@
     &bing,
     &yahoo,
     &duckduckgo,
+    &ecosia,
 };
 
 // Netherlands
@@ -590,6 +666,7 @@
     &bing,
     &yahoo_nl,
     &duckduckgo,
+    &yandex_ru,
 };
 
 // Norway
@@ -598,6 +675,7 @@
     &bing,
     &yahoo,
     &duckduckgo,
+    &yandex_ru,
 };
 
 // New Zealand
@@ -606,6 +684,7 @@
     &bing,
     &duckduckgo,
     &yahoo_nz,
+    &ecosia,
 };
 
 // Oman
@@ -613,7 +692,8 @@
     &google,
     &bing,
     &yahoo,
-    &ask,
+    &duckduckgo,
+    &ecosia,
 };
 
 // Panama
@@ -622,13 +702,15 @@
     &bing,
     &yahoo,
     &duckduckgo,
+    &ecosia,
 };
 
 // Peru
 const PrepopulatedEngine* const engines_PE[] = {
     &google,
-    &yahoo_pe,
     &bing,
+    &yahoo_pe,
+    &ecosia,
     &duckduckgo,
 };
 
@@ -637,6 +719,7 @@
     &google,
     &yahoo_ph,
     &bing,
+    &ecosia,
     &duckduckgo,
 };
 
@@ -645,7 +728,8 @@
     &google,
     &yahoo,
     &bing,
-    &baidu,
+    &duckduckgo,
+    &yandex_com,
 };
 
 // Poland
@@ -654,6 +738,7 @@
     &bing,
     &yahoo,
     &duckduckgo,
+    &yandex_ru,
 };
 
 // Puerto Rico
@@ -662,6 +747,7 @@
     &bing,
     &yahoo,
     &duckduckgo,
+    &ecosia,
 };
 
 // Portugal
@@ -670,6 +756,7 @@
     &bing,
     &yahoo,
     &duckduckgo,
+    &ecosia,
 };
 
 // Paraguay
@@ -678,6 +765,7 @@
     &bing,
     &yahoo,
     &duckduckgo,
+    &ecosia,
 };
 
 // Qatar
@@ -685,7 +773,8 @@
     &google,
     &bing,
     &yahoo,
-    &ask,
+    &duckduckgo,
+    &yandex_com,
 };
 
 // Romania
@@ -694,6 +783,7 @@
     &bing,
     &yahoo,
     &duckduckgo,
+    &yandex_ru,
 };
 
 // Serbia
@@ -702,14 +792,16 @@
     &yahoo,
     &bing,
     &duckduckgo,
+    &yandex_ru,
 };
 
 // Russia
 const PrepopulatedEngine* const engines_RU[] = {
-    &yandex_ru,
     &google,
+    &yandex_ru,
     &mail_ru,
     &bing,
+    &yahoo,
 };
 
 // Rwanda
@@ -717,7 +809,8 @@
     &google,
     &bing,
     &yahoo,
-    &yandex_ru,
+    &duckduckgo,
+    &mail_ru,
 };
 
 // Saudi Arabia
@@ -726,6 +819,7 @@
     &bing,
     &yahoo,
     &yandex_com,
+    &duckduckgo,
 };
 
 // Sweden
@@ -734,22 +828,25 @@
     &bing,
     &yahoo_se,
     &duckduckgo,
+    &ecosia,
 };
 
 // Singapore
 const PrepopulatedEngine* const engines_SG[] = {
     &google,
     &bing,
-    &yahoo_sg,
     &yandex_com,
+    &yahoo_sg,
+    &baidu,
 };
 
 // Slovenia
 const PrepopulatedEngine* const engines_SI[] = {
     &google,
     &bing,
-    &yahoo,
     &duckduckgo,
+    &yahoo,
+    &yandex_ru,
 };
 
 // Slovakia
@@ -758,6 +855,7 @@
     &bing,
     &yahoo,
     &duckduckgo,
+    &seznam_cz,
 };
 
 // El Salvador
@@ -766,6 +864,7 @@
     &bing,
     &yahoo,
     &duckduckgo,
+    &ecosia,
 };
 
 // Syria
@@ -774,6 +873,7 @@
     &bing,
     &yahoo,
     &yandex_ru,
+    &duckduckgo,
 };
 
 // Thailand
@@ -781,7 +881,8 @@
     &google,
     &yahoo_th,
     &bing,
-    &ask,
+    &duckduckgo,
+    &baidu,
 };
 
 // Tunisia
@@ -790,6 +891,7 @@
     &yahoo,
     &bing,
     &yandex_ru,
+    &duckduckgo,
 };
 
 // Turkey
@@ -798,6 +900,7 @@
     &yandex_tr,
     &yahoo_tr,
     &bing,
+    &duckduckgo,
 };
 
 // Trinidad and Tobago
@@ -806,6 +909,7 @@
     &bing,
     &yahoo,
     &duckduckgo,
+    &ask,
 };
 
 // Taiwan
@@ -814,6 +918,7 @@
     &yahoo_tw,
     &bing,
     &baidu,
+    &ecosia,
 };
 
 // Tanzania
@@ -821,6 +926,7 @@
     &google,
     &bing,
     &yahoo,
+    &duckduckgo,
     &yandex_ru,
 };
 
@@ -828,8 +934,9 @@
 const PrepopulatedEngine* const engines_UA[] = {
     &google,
     &yandex_ua,
-    &mail_ru,
     &bing,
+    &mail_ru,
+    &yahoo,
 };
 
 // United States
@@ -838,6 +945,7 @@
     &bing,
     &yahoo,
     &duckduckgo,
+    &ecosia,
 };
 
 // Uruguay
@@ -846,6 +954,7 @@
     &bing,
     &yahoo,
     &duckduckgo,
+    &ecosia,
 };
 
 // Venezuela
@@ -854,14 +963,16 @@
     &yahoo_ve,
     &bing,
     &duckduckgo,
+    &ecosia,
 };
 
 // Vietnam
 const PrepopulatedEngine* const engines_VN[] = {
     &google,
     &coccoc,
+    &yahoo,
     &bing,
-    &yahoo_vn,
+    &ecosia,
 };
 
 // Yemen
@@ -869,7 +980,8 @@
     &google,
     &bing,
     &yahoo,
-    &baidu,
+    &yandex_ru,
+    &duckduckgo,
 };
 
 // South Africa
@@ -878,6 +990,7 @@
     &bing,
     &yahoo,
     &duckduckgo,
+    &baidu,
 };
 
 // Zimbabwe
@@ -885,7 +998,8 @@
     &google,
     &bing,
     &yahoo,
-    &baidu,
+    &ask,
+    &duckduckgo,
 };
 // ----------------------------------------------------------------------------
 
diff --git a/components/sync/engine/sync_engine_switches.cc b/components/sync/engine/sync_engine_switches.cc
index 9861111..e421bd3b 100644
--- a/components/sync/engine/sync_engine_switches.cc
+++ b/components/sync/engine/sync_engine_switches.cc
@@ -26,7 +26,7 @@
     "SyncUseScryptForNewCustomPassphrases", base::FEATURE_ENABLED_BY_DEFAULT};
 
 const base::Feature kSyncSupportTrustedVaultPassphrase{
-    "SyncSupportTrustedVaultPassphrase", base::FEATURE_DISABLED_BY_DEFAULT};
+    "SyncSupportTrustedVaultPassphrase", base::FEATURE_ENABLED_BY_DEFAULT};
 
 // If enabled sync cycle ends by collecting contributions from all datatypes
 // and having less than max_commit_batch_size() entries to commit. If disabled
diff --git a/content/browser/appcache/README.md b/content/browser/appcache/README.md
index d50b48e9..b414781 100644
--- a/content/browser/appcache/README.md
+++ b/content/browser/appcache/README.md
@@ -177,12 +177,6 @@
 a list of namespaces in an application cache, a resource URL matches the longest
 namespace that is a prefix of the URL.
 
-*** promo
-Our AppCache implementation also supports specifying namespaces as regular
-expressions that match URLs. This extension is invoked by adding the `isPattern`
-keyword after the namespace in the manifest.
-***
-
 An application cache has the following flags:
 
 * **completeness** - the application cache is *complete* when all the resources
@@ -193,3 +187,11 @@
   all unlisted resources to be fetched from the network
 * **cache mode** - not supported by Chrome, which does not implement the
   `SETTINGS:` manifest section
+
+### Historical
+
+Our AppCache implementation supported specifying namespaces as regular
+expressions that match URLs. This extension was invoked by adding the
+`isPattern` keyword after the namespace in the manifest. Support has
+mostly been removed, but a column remains in the database and tests
+validate correct parsing even when it is present.
diff --git a/content/browser/appcache/appcache.cc b/content/browser/appcache/appcache.cc
index e89c9f1..6e74179 100644
--- a/content/browser/appcache/appcache.cc
+++ b/content/browser/appcache/appcache.cc
@@ -196,11 +196,8 @@
 
   for (size_t i = 0; i < whitelists.size(); ++i) {
     const AppCacheDatabase::OnlineWhiteListRecord& record = whitelists.at(i);
-    online_whitelist_namespaces_.push_back(
-        AppCacheNamespace(APPCACHE_NETWORK_NAMESPACE,
-                  record.namespace_url,
-                  GURL(),
-                  record.is_pattern));
+    online_whitelist_namespaces_.push_back(AppCacheNamespace(
+        APPCACHE_NETWORK_NAMESPACE, record.namespace_url, GURL()));
   }
 }
 
@@ -257,7 +254,6 @@
     AppCacheDatabase::OnlineWhiteListRecord& record = whitelists->back();
     record.cache_id = cache_id_;
     record.namespace_url = online_whitelist_namespaces_[i].namespace_url;
-    record.is_pattern = online_whitelist_namespaces_[i].is_pattern;
   }
 }
 
diff --git a/content/browser/appcache/appcache_database.cc b/content/browser/appcache/appcache_database.cc
index 96f5cc5..0e31059 100644
--- a/content/browser/appcache/appcache_database.cc
+++ b/content/browser/appcache/appcache_database.cc
@@ -101,6 +101,7 @@
      " response_size INTEGER,"
      " padding_size INTEGER)"},
 
+    // The |is_pattern| field is obsolete.
     {kNamespacesTable,
      "(cache_id INTEGER,"
      " origin TEXT,"  // intentionally not normalized
@@ -109,6 +110,7 @@
      " target_url TEXT,"
      " is_pattern INTEGER CHECK(is_pattern IN (0, 1)))"},
 
+    // The |is_pattern| field is obsolete.
     {kOnlineWhiteListsTable,
      "(cache_id INTEGER,"
      " namespace_url TEXT,"
@@ -803,7 +805,7 @@
   statement.BindInt(2, record->namespace_.type);
   statement.BindString(3, record->namespace_.namespace_url.spec());
   statement.BindString(4, record->namespace_.target_url.spec());
-  statement.BindBool(5, record->namespace_.is_pattern);
+  statement.BindBool(5, /*is_pattern=*/false);
   return statement.Run();
 }
 
@@ -867,7 +869,7 @@
   sql::Statement statement(db_->GetCachedStatement(SQL_FROM_HERE, kSql));
   statement.BindInt64(0, record->cache_id);
   statement.BindString(1, record->namespace_url.spec());
-  statement.BindBool(2, record->is_pattern);
+  statement.BindBool(2, /*is_pattern=*/false);
 
   return statement.Run();
 }
@@ -1061,7 +1063,6 @@
       static_cast<AppCacheNamespaceType>(statement->ColumnInt(2));
   record->namespace_.namespace_url = GURL(statement->ColumnString(3));
   record->namespace_.target_url = GURL(statement->ColumnString(4));
-  record->namespace_.is_pattern = statement->ColumnBool(5);
   DCHECK(record->namespace_.type == APPCACHE_FALLBACK_NAMESPACE ||
          record->namespace_.type == APPCACHE_INTERCEPT_NAMESPACE);
   // The APPCACHE_NETWORK_NAMESPACE are stored as OnlineWhiteListRecords.
@@ -1071,7 +1072,6 @@
     const sql::Statement& statement, OnlineWhiteListRecord* record) {
   record->cache_id = statement.ColumnInt64(0);
   record->namespace_url = GURL(statement.ColumnString(1));
-  record->is_pattern = statement.ColumnBool(2);
 }
 
 bool AppCacheDatabase::LazyOpen(bool create_if_needed) {
diff --git a/content/browser/appcache/appcache_database.h b/content/browser/appcache/appcache_database.h
index da50a949..79b91bc 100644
--- a/content/browser/appcache/appcache_database.h
+++ b/content/browser/appcache/appcache_database.h
@@ -112,11 +112,10 @@
   using NamespaceRecordVector = std::vector<NamespaceRecord>;
 
   struct OnlineWhiteListRecord {
-    OnlineWhiteListRecord() : cache_id(0), is_pattern(false) {}
+    OnlineWhiteListRecord() : cache_id(0) {}
 
     int64_t cache_id;
     GURL namespace_url;
-    bool is_pattern;
   };
 
   explicit AppCacheDatabase(const base::FilePath& path);
diff --git a/content/browser/appcache/appcache_database_unittest.cc b/content/browser/appcache/appcache_database_unittest.cc
index 09df96a9..11b9500 100644
--- a/content/browser/appcache/appcache_database_unittest.cc
+++ b/content/browser/appcache/appcache_database_unittest.cc
@@ -607,7 +607,6 @@
   EXPECT_EQ(kFooOrigin, fallbacks[0].origin);
   EXPECT_EQ(kFooNameSpace1, fallbacks[0].namespace_.namespace_url);
   EXPECT_EQ(kFooFallbackEntry, fallbacks[0].namespace_.target_url);
-  EXPECT_FALSE(fallbacks[0].namespace_.is_pattern);
 
   fallbacks.clear();
   EXPECT_TRUE(db.FindNamespacesForCache(2, &intercepts, &fallbacks));
@@ -616,7 +615,6 @@
   EXPECT_EQ(kFooOrigin, fallbacks[0].origin);
   EXPECT_EQ(kFooNameSpace2, fallbacks[0].namespace_.namespace_url);
   EXPECT_EQ(kFooFallbackEntry, fallbacks[0].namespace_.target_url);
-  EXPECT_FALSE(fallbacks[0].namespace_.is_pattern);
 
   fallbacks.clear();
   EXPECT_TRUE(db.FindNamespacesForOrigin(kFooOrigin, &intercepts, &fallbacks));
@@ -625,12 +623,10 @@
   EXPECT_EQ(kFooOrigin, fallbacks[0].origin);
   EXPECT_EQ(kFooNameSpace1, fallbacks[0].namespace_.namespace_url);
   EXPECT_EQ(kFooFallbackEntry, fallbacks[0].namespace_.target_url);
-  EXPECT_FALSE(fallbacks[0].namespace_.is_pattern);
   EXPECT_EQ(2, fallbacks[1].cache_id);
   EXPECT_EQ(kFooOrigin, fallbacks[1].origin);
   EXPECT_EQ(kFooNameSpace2, fallbacks[1].namespace_.namespace_url);
   EXPECT_EQ(kFooFallbackEntry, fallbacks[1].namespace_.target_url);
-  EXPECT_FALSE(fallbacks[1].namespace_.is_pattern);
 
   EXPECT_TRUE(db.DeleteNamespacesForCache(1));
   fallbacks.clear();
@@ -640,34 +636,27 @@
   EXPECT_EQ(kFooOrigin, fallbacks[0].origin);
   EXPECT_EQ(kFooNameSpace2, fallbacks[0].namespace_.namespace_url);
   EXPECT_EQ(kFooFallbackEntry, fallbacks[0].namespace_.target_url);
-  EXPECT_FALSE(fallbacks[0].namespace_.is_pattern);
 
   // Two more records for the same cache in the Bar origin.
   record.cache_id = 3;
   record.origin = kBarOrigin;
   record.namespace_.namespace_url = kBarNameSpace1;
   record.namespace_.target_url = kBarFallbackEntry;
-  record.namespace_.is_pattern = true;
   EXPECT_TRUE(db.InsertNamespace(&record));
 
   record.cache_id = 3;
   record.origin = kBarOrigin;
   record.namespace_.namespace_url = kBarNameSpace2;
   record.namespace_.target_url = kBarFallbackEntry;
-  record.namespace_.is_pattern = true;
   EXPECT_TRUE(db.InsertNamespace(&record));
 
   fallbacks.clear();
   EXPECT_TRUE(db.FindNamespacesForCache(3, &intercepts, &fallbacks));
   EXPECT_EQ(2U, fallbacks.size());
-  EXPECT_TRUE(fallbacks[0].namespace_.is_pattern);
-  EXPECT_TRUE(fallbacks[1].namespace_.is_pattern);
 
   fallbacks.clear();
   EXPECT_TRUE(db.FindNamespacesForOrigin(kBarOrigin, &intercepts, &fallbacks));
   EXPECT_EQ(2U, fallbacks.size());
-  EXPECT_TRUE(fallbacks[0].namespace_.is_pattern);
-  EXPECT_TRUE(fallbacks[1].namespace_.is_pattern);
 
   ASSERT_TRUE(expecter.SawExpectedErrors());
 }
@@ -694,17 +683,14 @@
   record.namespace_url = kFooNameSpace1;
   EXPECT_TRUE(db.InsertOnlineWhiteList(&record));
   record.namespace_url = kFooNameSpace2;
-  record.is_pattern = true;
   EXPECT_TRUE(db.InsertOnlineWhiteList(&record));
   records.clear();
   EXPECT_TRUE(db.FindOnlineWhiteListForCache(1, &records));
   EXPECT_EQ(2U, records.size());
   EXPECT_EQ(1, records[0].cache_id);
   EXPECT_EQ(kFooNameSpace1, records[0].namespace_url);
-  EXPECT_FALSE(records[0].is_pattern);
   EXPECT_EQ(1, records[1].cache_id);
   EXPECT_EQ(kFooNameSpace2, records[1].namespace_url);
-  EXPECT_TRUE(records[1].is_pattern);
 
   record.cache_id = 2;
   record.namespace_url = kBarNameSpace1;
diff --git a/content/browser/appcache/appcache_manifest_parser.cc b/content/browser/appcache/appcache_manifest_parser.cc
index ab88490..d34ba85 100644
--- a/content/browser/appcache/appcache_manifest_parser.cc
+++ b/content/browser/appcache/appcache_manifest_parser.cc
@@ -237,30 +237,6 @@
   // Manifest served with the MIME type that enables dangerous features.
   void RecordDangerousMode() { used_dangerous_mode_ = true; }
 
-  // Chrome-specific isPattern used in a valid NETWORK: entry.
-  void RecordNetworkPattern() {
-#if DCHECK_IS_ON()
-    DCHECK(!finalized_) << "Metrics already recorded";
-#endif  // DCHECK_IS_ON()
-    has_network_pattern_ = true;
-  }
-
-  // Chrome-specific isPattern used in a valid CHROMIUM-INTERCEPT: entry.
-  void RecordInterceptPattern() {
-#if DCHECK_IS_ON()
-    DCHECK(!finalized_) << "Metrics already recorded";
-#endif  // DCHECK_IS_ON()
-    has_intercept_pattern_ = true;
-  }
-
-  // Chrome-specific isPattern used in a valid FALLBACK: entry.
-  void RecordFallbackPattern() {
-#if DCHECK_IS_ON()
-    DCHECK(!finalized_) << "Metrics already recorded";
-#endif  // DCHECK_IS_ON()
-    has_fallback_pattern_ = true;
-  }
-
   // Manifest contains a valid Chrome-specific CHROMIUM-INTERCEPT: entry.
   void RecordInterceptEntry() {
 #if DCHECK_IS_ON()
@@ -299,15 +275,9 @@
                               has_chrome_header_);
     base::UmaHistogramBoolean("appcache.Manifest.DangerousMode",
                               used_dangerous_mode_);
-    base::UmaHistogramBoolean("appcache.Manifest.NetworkPattern",
-                              has_network_pattern_);
-    base::UmaHistogramBoolean("appcache.Manifest.FallbackPattern",
-                              has_fallback_pattern_);
-    base::UmaHistogramEnumeration("appcache.Manifest.InterceptUsage",
-                                  GetInterceptUsage());
-    base::UmaHistogramBoolean("appcache.Manifest.Pattern",
-                              has_network_pattern_ || has_intercept_pattern_ ||
-                                  has_fallback_pattern_);
+    base::UmaHistogramEnumeration(
+        "appcache.Manifest.InterceptUsage",
+        has_intercept_entry_ ? InterceptUsage::kExact : InterceptUsage::kNone);
     base::UmaHistogramBoolean("appcache.Manifest.ValidManifestURL",
                               has_valid_manifest_url_);
   }
@@ -342,20 +312,8 @@
     kMaxValue = kPattern,
   };
 
-  InterceptUsage GetInterceptUsage() {
-    if (!has_intercept_entry_) {
-      DCHECK(!has_intercept_pattern_);
-      return InterceptUsage::kNone;
-    }
-    return has_intercept_pattern_ ? InterceptUsage::kPattern
-                                  : InterceptUsage::kExact;
-  }
-
   bool has_chrome_header_ = false;
   bool used_dangerous_mode_ = false;
-  bool has_network_pattern_ = false;
-  bool has_intercept_pattern_ = false;
-  bool has_fallback_pattern_ = false;
   bool has_intercept_entry_ = false;
   bool has_valid_manifest_url_ = false;
 
@@ -539,8 +497,7 @@
       }
 
       manifest.online_whitelist_namespaces.emplace_back(
-          AppCacheNamespace(APPCACHE_NETWORK_NAMESPACE, namespace_url, GURL(),
-                            /*is_pattern=*/false));
+          AppCacheNamespace(APPCACHE_NETWORK_NAMESPACE, namespace_url, GURL()));
       continue;
     }
 
@@ -581,8 +538,7 @@
         continue;
 
       manifest.intercept_namespaces.emplace_back(APPCACHE_INTERCEPT_NAMESPACE,
-                                                 namespace_url, target_url,
-                                                 /*is_pattern=*/false);
+                                                 namespace_url, target_url);
       parse_metrics.RecordInterceptEntry();
       continue;
     }
@@ -617,8 +573,7 @@
       // Store regardless of duplicate namespace URL. Only the first match will
       // ever be used.
       manifest.fallback_namespaces.emplace_back(APPCACHE_FALLBACK_NAMESPACE,
-                                                namespace_url, fallback_url,
-                                                /*is_pattern=*/false);
+                                                namespace_url, fallback_url);
       continue;
     }
 
diff --git a/content/browser/appcache/appcache_manifest_parser_unittest.cc b/content/browser/appcache/appcache_manifest_parser_unittest.cc
index 0c85bc7..89fe10c 100644
--- a/content/browser/appcache/appcache_manifest_parser_unittest.cc
+++ b/content/browser/appcache/appcache_manifest_parser_unittest.cc
@@ -380,7 +380,6 @@
   const size_t kExpected = 6;
   ASSERT_EQ(kExpected, online.size());
   EXPECT_EQ(APPCACHE_NETWORK_NAMESPACE, online[0].type);
-  EXPECT_FALSE(online[0].is_pattern);
   EXPECT_TRUE(online[0].target_url.is_empty());
   EXPECT_EQ(GURL("http://www.bar.com/relative/one"), online[0].namespace_url);
   EXPECT_EQ(GURL("http://www.bar.com/two"), online[1].namespace_url);
@@ -702,75 +701,6 @@
       urls.end());
 }
 
-TEST(AppCacheManifestParserTest, PatternMatching) {
-  const GURL kUrl("http://foo.com/manifest");
-  const std::string kScope = kUrl.GetWithoutFilename().path();
-  const std::string kManifestBody(
-      "CACHE MANIFEST\r"
-      "CACHE: \r"
-      "http://foo.com/page.html\r"
-      "CHROMIUM-INTERCEPT:\r"
-      "http://foo.com/intercept_prefix return /prefix\r"
-      "http://foo.com/intercept_pattern return /pattern isPattern\r"
-      "http://foo.com/*/intercept_pattern?query return /pattern isPattern\r"
-      "FALLBACK:\r"
-      "http://foo.com/fallback_prefix  /prefix wrongAnnotation\r"
-      "http://foo.com/fallback_pattern* /pattern\tisPattern    \r"
-      "NETWORK:\r"
-      "*\r"
-      "isPattern\r"  // should not be interpretted as a pattern
-      "http://foo.com/network_pattern* isPattern\r");
-
-
-  AppCacheManifest manifest;
-  EXPECT_TRUE(ParseManifest(
-      kUrl, kScope, true, kManifestBody.c_str(), kManifestBody.length(),
-      PARSE_MANIFEST_ALLOWING_DANGEROUS_FEATURES, manifest));
-  EXPECT_TRUE(manifest.online_whitelist_all);
-  EXPECT_FALSE(manifest.did_ignore_intercept_namespaces);
-  EXPECT_FALSE(manifest.did_ignore_fallback_namespaces);
-  EXPECT_EQ(1u, manifest.explicit_urls.size());
-  EXPECT_EQ(3u, manifest.intercept_namespaces.size());
-  EXPECT_EQ(2u, manifest.fallback_namespaces.size());
-  EXPECT_EQ(2u, manifest.online_whitelist_namespaces.size());
-  EXPECT_EQ(APPCACHE_INTERCEPT_NAMESPACE,
-            manifest.intercept_namespaces[0].type);
-  EXPECT_EQ(APPCACHE_FALLBACK_NAMESPACE, manifest.fallback_namespaces[0].type);
-  EXPECT_EQ(APPCACHE_NETWORK_NAMESPACE,
-            manifest.online_whitelist_namespaces[0].type);
-  EXPECT_FALSE(manifest.intercept_namespaces[0].is_pattern);
-  EXPECT_FALSE(manifest.intercept_namespaces[1].is_pattern);
-  EXPECT_FALSE(manifest.intercept_namespaces[2].is_pattern);
-  EXPECT_FALSE(manifest.fallback_namespaces[0].is_pattern);
-  EXPECT_FALSE(manifest.fallback_namespaces[1].is_pattern);
-  EXPECT_FALSE(manifest.online_whitelist_namespaces[0].is_pattern);
-  EXPECT_FALSE(manifest.online_whitelist_namespaces[1].is_pattern);
-  EXPECT_EQ(
-      GURL("http://foo.com/*/intercept_pattern?query"),
-      manifest.intercept_namespaces[2].namespace_url);
-  EXPECT_EQ(
-      GURL("http://foo.com/pattern"),
-      manifest.intercept_namespaces[2].target_url);
-  EXPECT_EQ(
-      GURL("http://foo.com/fallback_pattern*"),
-      manifest.fallback_namespaces[1].namespace_url);
-  EXPECT_EQ(
-      GURL("http://foo.com/pattern"),
-      manifest.fallback_namespaces[1].target_url);
-  EXPECT_EQ(
-      GURL("http://foo.com/isPattern"),
-      manifest.online_whitelist_namespaces[0].namespace_url);
-  EXPECT_EQ(
-      GURL(),
-      manifest.online_whitelist_namespaces[0].target_url);
-  EXPECT_EQ(
-      GURL("http://foo.com/network_pattern*"),
-      manifest.online_whitelist_namespaces[1].namespace_url);
-  EXPECT_EQ(
-      GURL(),
-      manifest.online_whitelist_namespaces[1].target_url);
-}
-
 TEST(AppCacheManifestParserTest, IgnoreDangerousFallbacksWithGlobalScope) {
   const GURL kUrl("http://foo.com/scope/manifest?with_query_args");
   const std::string kScope = kUrl.GetWithEmptyPath().path();
@@ -864,129 +794,6 @@
             manifest.fallback_namespaces[0].namespace_url);
 }
 
-TEST(AppCacheManifestParserTest, NetworkPatternMetrics) {
-  const GURL url("http://foo.com/scope/manifest?with_query_args");
-  const std::string scope = url.GetWithoutFilename().path();
-
-  struct TestCase {
-    std::string manifest;
-    int expected_false_count;
-    int expected_true_count;
-  } test_cases[] = {
-      {"", 1, 0},
-      {"FALLBACK:\rhttp://foo.com/fallback /url\r", 1, 0},
-      {"FALLBACK:\rhttp://foo.com/fallback_pattern* /pattern isPattern\r", 1,
-       0},
-      {"NETWORK:\r*\r", 1, 0},
-      {"NETWORK:\rhttp://foo.com/network\r", 1, 0},
-      {"NETWORK:\rhttp://foo.com/network_pattern* isPattern\r", 1, 0},
-      {"CHROMIUM-INTERCEPT:\rhttp://foo.com/intercept return /url\r", 1, 0},
-      {"CHROMIUM-INTERCEPT:\r"
-       "http://foo.com/intercept* return /pattern isPattern\r",
-       1, 0},
-  };
-
-  for (const auto& test_case : test_cases) {
-    AppCacheManifest manifest;
-    base::HistogramTester tester;
-    std::string manifest_text =
-        std::string("CACHE MANIFEST\r") + test_case.manifest;
-
-    ParseManifest(url, scope, true, manifest_text.c_str(),
-                  manifest_text.length(),
-                  PARSE_MANIFEST_ALLOWING_DANGEROUS_FEATURES, manifest);
-    tester.ExpectBucketCount("appcache.Manifest.NetworkPattern", 0,
-                             test_case.expected_false_count);
-    tester.ExpectBucketCount("appcache.Manifest.NetworkPattern", 1,
-                             test_case.expected_true_count);
-  }
-}
-
-TEST(AppCacheManifestParserTest, FallbackPatternMetricsWithGlobalScope) {
-  const GURL url("http://foo.com/scope/manifest?with_query_args");
-  const std::string scope = url.GetWithEmptyPath().path();
-
-  struct TestCase {
-    std::string manifest;
-    int expected_false_count;
-    int expected_true_count;
-  } test_cases[] = {
-      {"", 1, 0},
-      {"FALLBACK:\rhttp://foo.com/fallback /url\r", 1, 0},
-      {"FALLBACK:\rhttp://foo.com/fallback_pattern* /pattern isPattern\r", 1,
-       0},
-      {"NETWORK:\r*\r", 1, 0},
-      {"NETWORK:\rhttp://foo.com/network\r", 1, 0},
-      {"NETWORK:\rhttp://foo.com/network_pattern* isPattern\r", 1, 0},
-      {"CHROMIUM-INTERCEPT:\rhttp://foo.com/intercept return /url\r", 1, 0},
-      {"CHROMIUM-INTERCEPT:\r"
-       "http://foo.com/intercept* return /pattern isPattern\r",
-       1, 0},
-  };
-
-  for (const auto& test_case : test_cases) {
-    AppCacheManifest manifest;
-    base::HistogramTester tester;
-    std::string manifest_text =
-        std::string("CACHE MANIFEST\r") + test_case.manifest;
-
-    ParseManifest(url, scope, true, manifest_text.c_str(),
-                  manifest_text.length(),
-                  PARSE_MANIFEST_ALLOWING_DANGEROUS_FEATURES, manifest);
-    tester.ExpectBucketCount("appcache.Manifest.FallbackPattern", 0,
-                             test_case.expected_false_count);
-    tester.ExpectBucketCount("appcache.Manifest.FallbackPattern", 1,
-                             test_case.expected_true_count);
-  }
-}
-
-TEST(AppCacheManifestParserTest, FallbackPatternMetricsWithDefaultScope) {
-  const GURL url("http://foo.com/scope/manifest?with_query_args");
-  const std::string scope = url.GetWithoutFilename().path();
-
-  struct TestCase {
-    std::string manifest;
-    int expected_false_count;
-    int expected_true_count;
-  } test_cases[] = {
-      {"", 1, 0},
-      {"FALLBACK:\rhttp://foo.com/fallback /url\r", 1, 0},
-      {"FALLBACK:\rhttp://foo.com/fallback_pattern* /pattern isPattern\r", 1,
-       0},
-      {"FALLBACK:\rhttp://foo.com/scope/fallback /url\r", 1, 0},
-      {"FALLBACK:\rhttp://foo.com/scope/fallback_pattern* /pattern isPattern\r",
-       1, 0},
-      {"NETWORK:\r*\r", 1, 0},
-      {"NETWORK:\rhttp://foo.com/network\r", 1, 0},
-      {"NETWORK:\rhttp://foo.com/network_pattern* isPattern\r", 1, 0},
-      {"CHROMIUM-INTERCEPT:\rhttp://foo.com/intercept return /url\r", 1, 0},
-      {"CHROMIUM-INTERCEPT:\r"
-       "http://foo.com/intercept* return /pattern isPattern\r",
-       1, 0},
-      {"CHROMIUM-INTERCEPT:\r"
-       "http://foo.com/scope/intercept return /url\r",
-       1, 0},
-      {"CHROMIUM-INTERCEPT:\r"
-       "http://foo.com/scope/intercept* return /pattern isPattern\r",
-       1, 0},
-  };
-
-  for (const auto& test_case : test_cases) {
-    AppCacheManifest manifest;
-    base::HistogramTester tester;
-    std::string manifest_text =
-        std::string("CACHE MANIFEST\r") + test_case.manifest;
-
-    ParseManifest(url, scope, true, manifest_text.c_str(),
-                  manifest_text.length(),
-                  PARSE_MANIFEST_ALLOWING_DANGEROUS_FEATURES, manifest);
-    tester.ExpectBucketCount("appcache.Manifest.FallbackPattern", 0,
-                             test_case.expected_false_count);
-    tester.ExpectBucketCount("appcache.Manifest.FallbackPattern", 1,
-                             test_case.expected_true_count);
-  }
-}
-
 TEST(AppCacheManifestParserTest, InterceptUsageMetricsWithGlobalScope) {
   const GURL url("http://foo.com/scope/manifest?with_query_args");
   const std::string scope = url.GetWithEmptyPath().path();
@@ -995,19 +802,18 @@
     std::string manifest;
     int expected_none_count;
     int expected_exact_count;
-    int expected_pattern_count;
   } test_cases[] = {
-      {"", 1, 0, 0},
-      {"FALLBACK:\rhttp://foo.com/fallback /url\r", 1, 0, 0},
-      {"FALLBACK:\rhttp://foo.com/fallback_pattern* /pattern isPattern\r", 1, 0,
+      {"", 1, 0},
+      {"FALLBACK:\rhttp://foo.com/fallback /url\r", 1, 0},
+      {"FALLBACK:\rhttp://foo.com/fallback_pattern* /pattern isPattern\r", 1,
        0},
-      {"NETWORK:\r*\r", 1, 0, 0},
-      {"NETWORK:\rhttp://foo.com/network\r", 1, 0, 0},
-      {"NETWORK:\rhttp://foo.com/network_pattern* isPattern\r", 1, 0, 0},
-      {"CHROMIUM-INTERCEPT:\rhttp://foo.com/intercept return /url\r", 0, 1, 0},
+      {"NETWORK:\r*\r", 1, 0},
+      {"NETWORK:\rhttp://foo.com/network\r", 1, 0},
+      {"NETWORK:\rhttp://foo.com/network_pattern* isPattern\r", 1, 0},
+      {"CHROMIUM-INTERCEPT:\rhttp://foo.com/intercept return /url\r", 0, 1},
       {"CHROMIUM-INTERCEPT:\r"
        "http://foo.com/intercept* return /pattern isPattern\r",
-       0, 1, 0},
+       0, 1},
   };
 
   for (const auto& test_case : test_cases) {
@@ -1023,8 +829,7 @@
                              test_case.expected_none_count);
     tester.ExpectBucketCount("appcache.Manifest.InterceptUsage", 1,
                              test_case.expected_exact_count);
-    tester.ExpectBucketCount("appcache.Manifest.InterceptUsage", 2,
-                             test_case.expected_pattern_count);
+    tester.ExpectBucketCount("appcache.Manifest.InterceptUsage", 2, 0);
   }
 }
 
@@ -1036,25 +841,24 @@
     std::string manifest;
     int expected_none_count;
     int expected_exact_count;
-    int expected_pattern_count;
   } test_cases[] = {
-      {"", 1, 0, 0},
-      {"FALLBACK:\rhttp://foo.com/fallback /url\r", 1, 0, 0},
-      {"FALLBACK:\rhttp://foo.com/fallback_pattern* /pattern isPattern\r", 1, 0,
+      {"", 1, 0},
+      {"FALLBACK:\rhttp://foo.com/fallback /url\r", 1, 0},
+      {"FALLBACK:\rhttp://foo.com/fallback_pattern* /pattern isPattern\r", 1,
        0},
-      {"NETWORK:\r*\r", 1, 0, 0},
-      {"NETWORK:\rhttp://foo.com/network\r", 1, 0, 0},
-      {"NETWORK:\rhttp://foo.com/network_pattern* isPattern\r", 1, 0, 0},
-      {"CHROMIUM-INTERCEPT:\rhttp://foo.com/intercept return /url\r", 1, 0, 0},
+      {"NETWORK:\r*\r", 1, 0},
+      {"NETWORK:\rhttp://foo.com/network\r", 1, 0},
+      {"NETWORK:\rhttp://foo.com/network_pattern* isPattern\r", 1, 0},
+      {"CHROMIUM-INTERCEPT:\rhttp://foo.com/intercept return /url\r", 1, 0},
       {"CHROMIUM-INTERCEPT:\r"
        "http://foo.com/intercept* return /pattern isPattern\r",
-       1, 0, 0},
+       1, 0},
       {"CHROMIUM-INTERCEPT:\r"
        "http://foo.com/scope/intercept return /url\r",
-       0, 1, 0},
+       0, 1},
       {"CHROMIUM-INTERCEPT:\r"
        "http://foo.com/scope/intercept* return /pattern isPattern\r",
-       0, 1, 0},
+       0, 1},
   };
 
   for (const auto& test_case : test_cases) {
@@ -1070,104 +874,7 @@
                              test_case.expected_none_count);
     tester.ExpectBucketCount("appcache.Manifest.InterceptUsage", 1,
                              test_case.expected_exact_count);
-    tester.ExpectBucketCount("appcache.Manifest.InterceptUsage", 2,
-                             test_case.expected_pattern_count);
-  }
-}
-
-TEST(AppCacheManifestParserTest, PatternMetricsWithGlobalScope) {
-  const GURL url("http://foo.com/scope/manifest?with_query_args");
-  const std::string scope = url.GetWithEmptyPath().path();
-
-  struct TestCase {
-    std::string manifest;
-    int expected_false_count;
-    int expected_true_count;
-  } test_cases[] = {
-      {"", 1, 0},
-      {"FALLBACK:\rhttp://foo.com/fallback /url\r", 1, 0},
-      {"FALLBACK:\rhttp://foo.com/fallback_pattern* /pattern isPattern\r", 1,
-       0},
-      {"FALLBACK:\rhttp://foo.com/scope /pattern isPattern\r", 1, 0},
-      {"FALLBACK:\rhttp://foo.com/scope/fallback_pattern* /pattern isPattern\r",
-       1, 0},
-      {"FALLBACK:\rhttp://foo.com/scope/foo/fallback_pattern* /pattern "
-       "isPattern\r",
-       1, 0},
-      {"NETWORK:\r*\r", 1, 0},
-      {"NETWORK:\rhttp://foo.com/network\r", 1, 0},
-      {"NETWORK:\rhttp://foo.com/network_pattern* isPattern\r", 1, 0},
-      {"CHROMIUM-INTERCEPT:\rhttp://foo.com/intercept return /url\r", 1, 0},
-      {"CHROMIUM-INTERCEPT:\r"
-       "http://foo.com/intercept* return /pattern isPattern\r",
-       1, 0},
-  };
-
-  for (const auto& test_case : test_cases) {
-    AppCacheManifest manifest;
-    base::HistogramTester tester;
-    std::string manifest_text =
-        std::string("CACHE MANIFEST\r") + test_case.manifest;
-
-    ParseManifest(url, scope, true, manifest_text.c_str(),
-                  manifest_text.length(),
-                  PARSE_MANIFEST_ALLOWING_DANGEROUS_FEATURES, manifest);
-    tester.ExpectBucketCount("appcache.Manifest.Pattern", 0,
-                             test_case.expected_false_count);
-    tester.ExpectBucketCount("appcache.Manifest.Pattern", 1,
-                             test_case.expected_true_count);
-  }
-}
-
-TEST(AppCacheManifestParserTest, PatternMetricsWithDefaultScope) {
-  const GURL url("http://foo.com/scope/manifest?with_query_args");
-  const std::string scope = url.GetWithoutFilename().path();
-
-  struct TestCase {
-    std::string manifest;
-    int expected_false_count;
-    int expected_true_count;
-  } test_cases[] = {
-      {"", 1, 0},
-      {"FALLBACK:\rhttp://foo.com/fallback /url\r", 1, 0},
-      {"FALLBACK:\rhttp://foo.com/fallback_pattern* /pattern isPattern\r", 1,
-       0},
-      {"FALLBACK:\rhttp://foo.com/scope /pattern isPattern\r", 1, 0},
-      {"FALLBACK:\rhttp://foo.com/scope/fallback_pattern* /pattern isPattern\r",
-       1, 0},
-      {"FALLBACK:\rhttp://foo.com/scope/foo/fallback_pattern* /pattern "
-       "isPattern\r",
-       1, 0},
-      {"NETWORK:\r*\r", 1, 0},
-      {"NETWORK:\rhttp://foo.com/network\r", 1, 0},
-      {"NETWORK:\rhttp://foo.com/network_pattern* isPattern\r", 1, 0},
-      {"CHROMIUM-INTERCEPT:\rhttp://foo.com/intercept return /url\r", 1, 0},
-      {"CHROMIUM-INTERCEPT:\r"
-       "http://foo.com/intercept* return /pattern isPattern\r",
-       1, 0},
-      {"CHROMIUM-INTERCEPT:\rhttp://foo.com/scope return /url\r", 1, 0},
-      {"CHROMIUM-INTERCEPT:\r"
-       "http://foo.com/scope* return /pattern isPattern\r",
-       1, 0},
-      {"CHROMIUM-INTERCEPT:\rhttp://foo.com/scope/x return /url\r", 1, 0},
-      {"CHROMIUM-INTERCEPT:\r"
-       "http://foo.com/scope/x* return /pattern isPattern\r",
-       1, 0},
-  };
-
-  for (const auto& test_case : test_cases) {
-    AppCacheManifest manifest;
-    base::HistogramTester tester;
-    std::string manifest_text =
-        std::string("CACHE MANIFEST\r") + test_case.manifest;
-
-    ParseManifest(url, scope, true, manifest_text.c_str(),
-                  manifest_text.length(),
-                  PARSE_MANIFEST_ALLOWING_DANGEROUS_FEATURES, manifest);
-    tester.ExpectBucketCount("appcache.Manifest.Pattern", 0,
-                             test_case.expected_false_count);
-    tester.ExpectBucketCount("appcache.Manifest.Pattern", 1,
-                             test_case.expected_true_count);
+    tester.ExpectBucketCount("appcache.Manifest.InterceptUsage", 2, 0);
   }
 }
 
diff --git a/content/browser/appcache/appcache_namespace.cc b/content/browser/appcache/appcache_namespace.cc
index 9ea5bdc..09abb59 100644
--- a/content/browser/appcache/appcache_namespace.cc
+++ b/content/browser/appcache/appcache_namespace.cc
@@ -6,36 +6,22 @@
 
 #include <string>
 
-#include "base/strings/pattern.h"
 #include "base/strings/string_util.h"
 
 namespace content {
 
-AppCacheNamespace::AppCacheNamespace()
-    : type(APPCACHE_FALLBACK_NAMESPACE), is_pattern(false) {}
+AppCacheNamespace::AppCacheNamespace() : type(APPCACHE_FALLBACK_NAMESPACE) {}
 
 AppCacheNamespace::AppCacheNamespace(AppCacheNamespaceType type,
                                      const GURL& url,
-                                     const GURL& target,
-                                     bool is_pattern)
-    : type(type),
-      namespace_url(url),
-      target_url(target),
-      is_pattern(is_pattern) {}
+                                     const GURL& target)
+    : type(type), namespace_url(url), target_url(target) {}
 
 AppCacheNamespace::~AppCacheNamespace() = default;
 
 bool AppCacheNamespace::IsMatch(const GURL& url) const {
-  if (is_pattern) {
-    // We have to escape '?' characters since MatchPattern also treats those
-    // as wildcards which we don't want here, we only do '*'s.
-    std::string pattern = namespace_url.spec();
-    if (namespace_url.has_query())
-      base::ReplaceSubstringsAfterOffset(&pattern, 0, "?", "\\?");
-    return base::MatchPattern(url.spec(), pattern);
-  }
   return base::StartsWith(url.spec(), namespace_url.spec(),
                           base::CompareCase::SENSITIVE);
 }
 
-}  // namespace content
\ No newline at end of file
+}  // namespace content
diff --git a/content/browser/appcache/appcache_namespace.h b/content/browser/appcache/appcache_namespace.h
index b08f9a4..5a195e2 100644
--- a/content/browser/appcache/appcache_namespace.h
+++ b/content/browser/appcache/appcache_namespace.h
@@ -20,8 +20,7 @@
   AppCacheNamespace();  // Type is APPCACHE_FALLBACK_NAMESPACE by default.
   AppCacheNamespace(AppCacheNamespaceType type,
                     const GURL& url,
-                    const GURL& target,
-                    bool is_pattern);
+                    const GURL& target);
   ~AppCacheNamespace();
 
   bool IsMatch(const GURL& url) const;
@@ -29,10 +28,6 @@
   AppCacheNamespaceType type;
   GURL namespace_url;
   GURL target_url;
-
-  // TODO(jsbell): Remove pattern support, since it has been removed from the
-  // parser already.
-  bool is_pattern;
 };
 
 }  // namespace content
diff --git a/content/browser/appcache/appcache_storage_impl.cc b/content/browser/appcache/appcache_storage_impl.cc
index 7898b35..ed4cfba2 100644
--- a/content/browser/appcache/appcache_storage_impl.cc
+++ b/content/browser/appcache/appcache_storage_impl.cc
@@ -865,8 +865,7 @@
 
     for (const auto& record : records) {
       namespaces->push_back(AppCacheNamespace(APPCACHE_NETWORK_NAMESPACE,
-                                              record.namespace_url, GURL(),
-                                              record.is_pattern));
+                                              record.namespace_url, GURL()));
     }
   }
 
diff --git a/content/browser/appcache/appcache_storage_impl_unittest.cc b/content/browser/appcache/appcache_storage_impl_unittest.cc
index 0488683..9978e44 100644
--- a/content/browser/appcache/appcache_storage_impl_unittest.cc
+++ b/content/browser/appcache/appcache_storage_impl_unittest.cc
@@ -976,9 +976,9 @@
     cache_->AddEntry(kEntryUrl, AppCacheEntry(AppCacheEntry::FALLBACK, 1));
     cache_->AddEntry(kEntryUrl2, AppCacheEntry(AppCacheEntry::FALLBACK, 2));
     cache_->fallback_namespaces_.push_back(AppCacheNamespace(
-        APPCACHE_FALLBACK_NAMESPACE, kFallbackNamespace2, kEntryUrl2, false));
+        APPCACHE_FALLBACK_NAMESPACE, kFallbackNamespace2, kEntryUrl2));
     cache_->fallback_namespaces_.push_back(AppCacheNamespace(
-        APPCACHE_FALLBACK_NAMESPACE, kFallbackNamespace, kEntryUrl, false));
+        APPCACHE_FALLBACK_NAMESPACE, kFallbackNamespace, kEntryUrl));
     AppCacheDatabase::CacheRecord cache_record;
     std::vector<AppCacheDatabase::EntryRecord> entries;
     std::vector<AppCacheDatabase::NamespaceRecord> intercepts;
@@ -1041,9 +1041,9 @@
     cache_->AddEntry(kEntryUrl, AppCacheEntry(AppCacheEntry::INTERCEPT, 1));
     cache_->AddEntry(kEntryUrl2, AppCacheEntry(AppCacheEntry::INTERCEPT, 2));
     cache_->intercept_namespaces_.push_back(AppCacheNamespace(
-        APPCACHE_INTERCEPT_NAMESPACE, kInterceptNamespace2, kEntryUrl2, false));
+        APPCACHE_INTERCEPT_NAMESPACE, kInterceptNamespace2, kEntryUrl2));
     cache_->intercept_namespaces_.push_back(AppCacheNamespace(
-        APPCACHE_INTERCEPT_NAMESPACE, kInterceptNamespace, kEntryUrl, false));
+        APPCACHE_INTERCEPT_NAMESPACE, kInterceptNamespace, kEntryUrl));
     AppCacheDatabase::CacheRecord cache_record;
     std::vector<AppCacheDatabase::EntryRecord> entries;
     std::vector<AppCacheDatabase::NamespaceRecord> intercepts;
@@ -1086,166 +1086,6 @@
     TestFinished();
   }
 
-  // FindInterceptPatternMatch ----------------------------------------
-
-  void FindInterceptPatternMatchInDatabase() {
-    FindInterceptPatternMatch(true);
-  }
-
-  void FindInterceptPatternMatchInWorkingSet() {
-    FindInterceptPatternMatch(false);
-  }
-
-  void FindInterceptPatternMatch(bool drop_from_working_set) {
-    // Setup some preconditions. Create a complete cache with an
-    // pattern matching intercept namespace and entry.
-    MakeCacheAndGroup(kManifestUrl, 2, 1, true);
-    cache_->AddEntry(kEntryUrl, AppCacheEntry(AppCacheEntry::INTERCEPT, 1));
-    cache_->intercept_namespaces_.push_back(
-        AppCacheNamespace(APPCACHE_INTERCEPT_NAMESPACE,
-                          kInterceptPatternNamespace, kEntryUrl, true));
-    AppCacheDatabase::CacheRecord cache_record;
-    std::vector<AppCacheDatabase::EntryRecord> entries;
-    std::vector<AppCacheDatabase::NamespaceRecord> intercepts;
-    std::vector<AppCacheDatabase::NamespaceRecord> fallbacks;
-    std::vector<AppCacheDatabase::OnlineWhiteListRecord> whitelists;
-    cache_->ToDatabaseRecords(group_.get(), &cache_record, &entries,
-                              &intercepts, &fallbacks, &whitelists);
-
-    for (const auto& entry : entries) {
-      // MakeCacheAndGroup has inserted  the default entry record already
-      if (entry.url != kDefaultEntryUrl)
-        EXPECT_TRUE(database()->InsertEntry(&entry));
-    }
-
-    EXPECT_TRUE(database()->InsertNamespaceRecords(intercepts));
-    if (drop_from_working_set) {
-      EXPECT_TRUE(cache_->HasOneRef());
-      cache_ = nullptr;
-      EXPECT_TRUE(group_->HasOneRef());
-      group_ = nullptr;
-    }
-
-    // First test something that does not match the pattern.
-    PushNextTask(base::BindOnce(
-        &AppCacheStorageImplTest::Verify_FindInterceptPatternMatchNegative,
-        base::Unretained(this)));
-    storage()->FindResponseForMainRequest(kInterceptPatternTestNegativeUrl,
-                                          GURL(), delegate());
-    EXPECT_EQ(GURL(), delegate()->found_url_);  // Is always async.
-  }
-
-  void Verify_FindInterceptPatternMatchNegative() {
-    EXPECT_EQ(kInterceptPatternTestNegativeUrl, delegate()->found_url_);
-    EXPECT_TRUE(delegate()->found_manifest_url_.is_empty());
-    EXPECT_EQ(blink::mojom::kAppCacheNoCacheId, delegate()->found_cache_id_);
-    EXPECT_EQ(blink::mojom::kAppCacheNoResponseId,
-              delegate()->found_entry_.response_id());
-    EXPECT_EQ(blink::mojom::kAppCacheNoResponseId,
-              delegate()->found_fallback_entry_.response_id());
-    EXPECT_TRUE(delegate()->found_namespace_entry_url_.is_empty());
-    EXPECT_EQ(0, delegate()->found_entry_.types());
-    EXPECT_EQ(0, delegate()->found_fallback_entry_.types());
-
-    // Then test something that matches.
-    PushNextTask(base::BindOnce(
-        &AppCacheStorageImplTest::Verify_FindInterceptPatternMatchPositive,
-        base::Unretained(this)));
-    storage()->FindResponseForMainRequest(kInterceptPatternTestPositiveUrl,
-                                          GURL(), delegate());
-  }
-
-  void Verify_FindInterceptPatternMatchPositive() {
-    EXPECT_EQ(kInterceptPatternTestPositiveUrl, delegate()->found_url_);
-    EXPECT_EQ(kManifestUrl, delegate()->found_manifest_url_);
-    EXPECT_EQ(1, delegate()->found_cache_id_);
-    EXPECT_EQ(2, delegate()->found_group_id_);
-    EXPECT_EQ(1, delegate()->found_entry_.response_id());
-    EXPECT_TRUE(delegate()->found_entry_.IsIntercept());
-    EXPECT_EQ(kEntryUrl, delegate()->found_namespace_entry_url_);
-    EXPECT_FALSE(delegate()->found_fallback_entry_.has_response_id());
-    TestFinished();
-  }
-
-  // FindFallbackPatternMatch  -------------------------------
-
-  void FindFallbackPatternMatchInDatabase() { FindFallbackPatternMatch(true); }
-
-  void FindFallbackPatternMatchInWorkingSet() {
-    FindFallbackPatternMatch(false);
-  }
-
-  void FindFallbackPatternMatch(bool drop_from_working_set) {
-    // Setup some preconditions. Create a complete cache with a
-    // pattern matching fallback namespace and entry.
-    MakeCacheAndGroup(kManifestUrl, 2, 1, true);
-    cache_->AddEntry(kEntryUrl, AppCacheEntry(AppCacheEntry::FALLBACK, 1));
-    cache_->fallback_namespaces_.push_back(
-        AppCacheNamespace(APPCACHE_FALLBACK_NAMESPACE,
-                          kFallbackPatternNamespace, kEntryUrl, true));
-    AppCacheDatabase::CacheRecord cache_record;
-    std::vector<AppCacheDatabase::EntryRecord> entries;
-    std::vector<AppCacheDatabase::NamespaceRecord> intercepts;
-    std::vector<AppCacheDatabase::NamespaceRecord> fallbacks;
-    std::vector<AppCacheDatabase::OnlineWhiteListRecord> whitelists;
-    cache_->ToDatabaseRecords(group_.get(), &cache_record, &entries,
-                              &intercepts, &fallbacks, &whitelists);
-
-    for (const auto& entry : entries) {
-      // MakeCacheAndGroup has inserted the default entry record already.
-      if (entry.url != kDefaultEntryUrl)
-        EXPECT_TRUE(database()->InsertEntry(&entry));
-    }
-
-    EXPECT_TRUE(database()->InsertNamespaceRecords(fallbacks));
-    if (drop_from_working_set) {
-      EXPECT_TRUE(cache_->HasOneRef());
-      cache_ = nullptr;
-      EXPECT_TRUE(group_->HasOneRef());
-      group_ = nullptr;
-    }
-
-    // First test something that does not match the pattern.
-    PushNextTask(base::BindOnce(
-        &AppCacheStorageImplTest::Verify_FindFallbackPatternMatchNegative,
-        base::Unretained(this)));
-    storage()->FindResponseForMainRequest(kFallbackPatternTestNegativeUrl,
-                                          GURL(), delegate());
-    EXPECT_EQ(GURL(), delegate()->found_url_);  // Is always async.
-  }
-
-  void Verify_FindFallbackPatternMatchNegative() {
-    EXPECT_EQ(kFallbackPatternTestNegativeUrl, delegate()->found_url_);
-    EXPECT_TRUE(delegate()->found_manifest_url_.is_empty());
-    EXPECT_EQ(blink::mojom::kAppCacheNoCacheId, delegate()->found_cache_id_);
-    EXPECT_EQ(blink::mojom::kAppCacheNoResponseId,
-              delegate()->found_entry_.response_id());
-    EXPECT_EQ(blink::mojom::kAppCacheNoResponseId,
-              delegate()->found_fallback_entry_.response_id());
-    EXPECT_TRUE(delegate()->found_namespace_entry_url_.is_empty());
-    EXPECT_EQ(0, delegate()->found_entry_.types());
-    EXPECT_EQ(0, delegate()->found_fallback_entry_.types());
-
-    // Then test something that matches.
-    PushNextTask(base::BindOnce(
-        &AppCacheStorageImplTest::Verify_FindFallbackPatternMatchPositive,
-        base::Unretained(this)));
-    storage()->FindResponseForMainRequest(kFallbackPatternTestPositiveUrl,
-                                          GURL(), delegate());
-  }
-
-  void Verify_FindFallbackPatternMatchPositive() {
-    EXPECT_EQ(kFallbackPatternTestPositiveUrl, delegate()->found_url_);
-    EXPECT_EQ(kManifestUrl, delegate()->found_manifest_url_);
-    EXPECT_EQ(1, delegate()->found_cache_id_);
-    EXPECT_EQ(2, delegate()->found_group_id_);
-    EXPECT_EQ(1, delegate()->found_fallback_entry_.response_id());
-    EXPECT_TRUE(delegate()->found_fallback_entry_.IsFallback());
-    EXPECT_EQ(kEntryUrl, delegate()->found_namespace_entry_url_);
-    EXPECT_FALSE(delegate()->found_entry_.has_response_id());
-    TestFinished();
-  }
-
   // FindMainResponseWithMultipleHits  -------------------------------
 
   void FindMainResponseWithMultipleHits() {
@@ -1303,7 +1143,7 @@
     fallback_namespace_record.origin = url::Origin::Create(manifest_url);
     EXPECT_TRUE(database()->InsertNamespace(&fallback_namespace_record));
     cache_->fallback_namespaces_.push_back(AppCacheNamespace(
-        APPCACHE_FALLBACK_NAMESPACE, kFallbackNamespace, kEntryUrl2, false));
+        APPCACHE_FALLBACK_NAMESPACE, kFallbackNamespace, kEntryUrl2));
   }
 
   void Verify_FindMainResponseWithMultipleHits() {
@@ -1415,12 +1255,11 @@
         AppCacheEntry(AppCacheEntry::EXPLICIT | AppCacheEntry::FOREIGN, 1));
     cache_->AddEntry(kEntryUrl2, AppCacheEntry(AppCacheEntry::FALLBACK, 2));
     cache_->fallback_namespaces_.push_back(AppCacheNamespace(
-        APPCACHE_FALLBACK_NAMESPACE, kFallbackNamespace, kEntryUrl2, false));
+        APPCACHE_FALLBACK_NAMESPACE, kFallbackNamespace, kEntryUrl2));
     cache_->online_whitelist_namespaces_.push_back(AppCacheNamespace(
-        APPCACHE_NETWORK_NAMESPACE, kOnlineNamespace, GURL(), false));
-    cache_->online_whitelist_namespaces_.push_back(
-        AppCacheNamespace(APPCACHE_NETWORK_NAMESPACE,
-                          kOnlineNamespaceWithinFallback, GURL(), false));
+        APPCACHE_NETWORK_NAMESPACE, kOnlineNamespace, GURL()));
+    cache_->online_whitelist_namespaces_.push_back(AppCacheNamespace(
+        APPCACHE_NETWORK_NAMESPACE, kOnlineNamespaceWithinFallback, GURL()));
 
     AppCacheDatabase::EntryRecord entry_record;
     entry_record.cache_id = 1;
@@ -1960,26 +1799,6 @@
       &AppCacheStorageImplTest::FindMainResponseExclusionsInWorkingSet);
 }
 
-TEST_F(AppCacheStorageImplTest, FindInterceptPatternMatchInWorkingSet) {
-  RunTestOnUIThread(
-      &AppCacheStorageImplTest::FindInterceptPatternMatchInWorkingSet);
-}
-
-TEST_F(AppCacheStorageImplTest, FindInterceptPatternMatchInDatabase) {
-  RunTestOnUIThread(
-      &AppCacheStorageImplTest::FindInterceptPatternMatchInDatabase);
-}
-
-TEST_F(AppCacheStorageImplTest, FindFallbackPatternMatchInWorkingSet) {
-  RunTestOnUIThread(
-      &AppCacheStorageImplTest::FindFallbackPatternMatchInWorkingSet);
-}
-
-TEST_F(AppCacheStorageImplTest, FindFallbackPatternMatchInDatabase) {
-  RunTestOnUIThread(
-      &AppCacheStorageImplTest::FindFallbackPatternMatchInDatabase);
-}
-
 TEST_F(AppCacheStorageImplTest, Reinitialize1) {
   RunTestOnUIThread(&AppCacheStorageImplTest::Reinitialize1);
 }
diff --git a/content/browser/appcache/appcache_unittest.cc b/content/browser/appcache/appcache_unittest.cc
index f65b8ea..3997c51 100644
--- a/content/browser/appcache/appcache_unittest.cc
+++ b/content/browser/appcache/appcache_unittest.cc
@@ -118,13 +118,11 @@
   manifest.explicit_urls.insert("http://two.com");
   manifest.fallback_namespaces.push_back(
       AppCacheNamespace(APPCACHE_FALLBACK_NAMESPACE, GURL("http://fb1.com"),
-                GURL("http://fbone.com"), true));
-  manifest.online_whitelist_namespaces.push_back(
-      AppCacheNamespace(APPCACHE_NETWORK_NAMESPACE, GURL("http://w1.com"),
-          GURL(), false));
-  manifest.online_whitelist_namespaces.push_back(
-      AppCacheNamespace(APPCACHE_NETWORK_NAMESPACE, GURL("http://w2.com"),
-          GURL(), false));
+                        GURL("http://fbone.com")));
+  manifest.online_whitelist_namespaces.push_back(AppCacheNamespace(
+      APPCACHE_NETWORK_NAMESPACE, GURL("http://w1.com"), GURL()));
+  manifest.online_whitelist_namespaces.push_back(AppCacheNamespace(
+      APPCACHE_NETWORK_NAMESPACE, GURL("http://w2.com"), GURL()));
   manifest.online_whitelist_all = true;
 
   cache->InitializeWithManifest(&manifest);
@@ -134,7 +132,6 @@
   EXPECT_EQ(expected, fallbacks.size());
   EXPECT_EQ(GURL("http://fb1.com"), fallbacks[0].namespace_url);
   EXPECT_EQ(GURL("http://fbone.com"), fallbacks[0].target_url);
-  EXPECT_TRUE(fallbacks[0].is_pattern);
   const std::vector<AppCacheNamespace>& whitelist =
       cache->online_whitelist_namespaces_;
   expected = 2;
@@ -180,24 +177,21 @@
   const int64_t kInterceptResponseId = 6;
 
   AppCacheManifest manifest;
-  manifest.online_whitelist_namespaces.push_back(
-      AppCacheNamespace(APPCACHE_NETWORK_NAMESPACE, kOnlineNamespaceUrl,
-          GURL(), false));
+  manifest.online_whitelist_namespaces.push_back(AppCacheNamespace(
+      APPCACHE_NETWORK_NAMESPACE, kOnlineNamespaceUrl, GURL()));
   manifest.online_whitelist_namespaces.push_back(
       AppCacheNamespace(APPCACHE_NETWORK_NAMESPACE,
-          kOnlineNamespaceWithinOtherNamespaces, GURL(), false));
-  manifest.fallback_namespaces.push_back(
-      AppCacheNamespace(APPCACHE_FALLBACK_NAMESPACE, kFallbackNamespaceUrl1,
-          kFallbackEntryUrl1, false));
-  manifest.fallback_namespaces.push_back(
-      AppCacheNamespace(APPCACHE_FALLBACK_NAMESPACE, kFallbackNamespaceUrl2,
-          kFallbackEntryUrl2, false));
+                        kOnlineNamespaceWithinOtherNamespaces, GURL()));
+  manifest.fallback_namespaces.push_back(AppCacheNamespace(
+      APPCACHE_FALLBACK_NAMESPACE, kFallbackNamespaceUrl1, kFallbackEntryUrl1));
+  manifest.fallback_namespaces.push_back(AppCacheNamespace(
+      APPCACHE_FALLBACK_NAMESPACE, kFallbackNamespaceUrl2, kFallbackEntryUrl2));
   manifest.intercept_namespaces.push_back(
       AppCacheNamespace(APPCACHE_INTERCEPT_NAMESPACE, kInterceptNamespace,
-          kInterceptNamespaceEntry, false));
-  manifest.intercept_namespaces.push_back(
-      AppCacheNamespace(APPCACHE_INTERCEPT_NAMESPACE,
-          kInterceptNamespaceWithinFallback, kInterceptNamespaceEntry, false));
+                        kInterceptNamespaceEntry));
+  manifest.intercept_namespaces.push_back(AppCacheNamespace(
+      APPCACHE_INTERCEPT_NAMESPACE, kInterceptNamespaceWithinFallback,
+      kInterceptNamespaceEntry));
 
   // Create a cache with some namespaces and entries.
   auto cache = base::MakeRefCounted<AppCache>(service.storage(), 1234);
@@ -361,190 +355,6 @@
   EXPECT_FALSE(network_namespace);
 }
 
-TEST_F(AppCacheTest, FindInterceptPatternResponseForRequest) {
-  MockAppCacheService service;
-
-  // Setup an appcache with an intercept namespace that uses pattern matching.
-  const GURL kInterceptNamespaceBase("http://blah/intercept_namespace/");
-  const GURL kInterceptPatternNamespace(
-      kInterceptNamespaceBase.Resolve("*.hit*"));
-  const GURL kInterceptNamespaceEntry("http://blah/intercept_resource");
-  const int64_t kInterceptResponseId = 1;
-  AppCacheManifest manifest;
-  manifest.intercept_namespaces.push_back(
-      AppCacheNamespace(APPCACHE_INTERCEPT_NAMESPACE,
-          kInterceptPatternNamespace, kInterceptNamespaceEntry, true));
-  auto cache = base::MakeRefCounted<AppCache>(service.storage(), 1234);
-  cache->InitializeWithManifest(&manifest);
-  cache->AddEntry(
-      kInterceptNamespaceEntry,
-      AppCacheEntry(AppCacheEntry::INTERCEPT, kInterceptResponseId));
-  cache->set_complete(true);
-
-  // See that the pattern match works.
-  bool found = false;
-  AppCacheEntry entry;
-  AppCacheEntry fallback_entry;
-  GURL intercept_namespace;
-  GURL fallback_namespace;
-  bool network_namespace = false;
-
-  found = cache->FindResponseForRequest(
-      GURL("http://blah/miss"),
-      &entry, &intercept_namespace,
-      &fallback_entry, &fallback_namespace,
-      &network_namespace);
-  EXPECT_FALSE(found);
-
-  found = cache->FindResponseForRequest(
-      GURL("http://blah/intercept_namespace/another_miss"),
-      &entry, &intercept_namespace,
-      &fallback_entry, &fallback_namespace,
-      &network_namespace);
-  EXPECT_FALSE(found);
-
-  found = cache->FindResponseForRequest(
-      GURL("http://blah/intercept_namespace/path.hit"),
-      &entry, &intercept_namespace,
-      &fallback_entry, &fallback_namespace,
-      &network_namespace);
-  EXPECT_TRUE(found);
-  EXPECT_EQ(kInterceptResponseId, entry.response_id());
-  EXPECT_EQ(kInterceptNamespaceEntry,
-            cache->GetInterceptEntryUrl(intercept_namespace));
-  EXPECT_FALSE(fallback_entry.has_response_id());
-  EXPECT_TRUE(fallback_namespace.is_empty());
-  EXPECT_FALSE(network_namespace);
-
-  entry = AppCacheEntry();  // reset
-
-  found = cache->FindResponseForRequest(
-      GURL("http://blah/intercept_namespace/longer/path.hit?arg=ok"),
-      &entry, &intercept_namespace,
-      &fallback_entry, &fallback_namespace,
-      &network_namespace);
-  EXPECT_TRUE(found);
-  EXPECT_EQ(kInterceptResponseId, entry.response_id());
-  EXPECT_EQ(kInterceptNamespaceEntry,
-            cache->GetInterceptEntryUrl(intercept_namespace));
-  EXPECT_FALSE(fallback_entry.has_response_id());
-  EXPECT_TRUE(fallback_namespace.is_empty());
-  EXPECT_FALSE(network_namespace);
-}
-
-TEST_F(AppCacheTest, FindFallbackPatternResponseForRequest) {
-  MockAppCacheService service;
-
-  // Setup an appcache with a fallback namespace that uses pattern matching.
-  const GURL kFallbackNamespaceBase("http://blah/fallback_namespace/");
-  const GURL kFallbackPatternNamespace(
-      kFallbackNamespaceBase.Resolve("*.hit*"));
-  const GURL kFallbackNamespaceEntry("http://blah/fallback_resource");
-  const int64_t kFallbackResponseId = 1;
-  AppCacheManifest manifest;
-  manifest.fallback_namespaces.push_back(
-      AppCacheNamespace(APPCACHE_FALLBACK_NAMESPACE, kFallbackPatternNamespace,
-                kFallbackNamespaceEntry, true));
-  auto cache = base::MakeRefCounted<AppCache>(service.storage(), 1234);
-  cache->InitializeWithManifest(&manifest);
-  cache->AddEntry(
-      kFallbackNamespaceEntry,
-      AppCacheEntry(AppCacheEntry::FALLBACK, kFallbackResponseId));
-  cache->set_complete(true);
-
-  // See that the pattern match works.
-  bool found = false;
-  AppCacheEntry entry;
-  AppCacheEntry fallback_entry;
-  GURL intercept_namespace;
-  GURL fallback_namespace;
-  bool network_namespace = false;
-
-  found = cache->FindResponseForRequest(
-      GURL("http://blah/miss"),
-      &entry, &intercept_namespace,
-      &fallback_entry, &fallback_namespace,
-      &network_namespace);
-  EXPECT_FALSE(found);
-
-  found = cache->FindResponseForRequest(
-      GURL("http://blah/fallback_namespace/another_miss"),
-      &entry, &intercept_namespace,
-      &fallback_entry, &fallback_namespace,
-      &network_namespace);
-  EXPECT_FALSE(found);
-
-  found = cache->FindResponseForRequest(
-      GURL("http://blah/fallback_namespace/path.hit"),
-      &entry, &intercept_namespace,
-      &fallback_entry, &fallback_namespace,
-      &network_namespace);
-  EXPECT_TRUE(found);
-  EXPECT_FALSE(entry.has_response_id());
-  EXPECT_EQ(kFallbackResponseId, fallback_entry.response_id());
-  EXPECT_EQ(kFallbackNamespaceEntry,
-            cache->GetFallbackEntryUrl(fallback_namespace));
-  EXPECT_FALSE(network_namespace);
-
-  fallback_entry = AppCacheEntry();
-  fallback_namespace = GURL();
-
-  found = cache->FindResponseForRequest(
-      GURL("http://blah/fallback_namespace/longer/path.hit?arg=ok"),
-      &entry, &intercept_namespace,
-      &fallback_entry, &fallback_namespace,
-      &network_namespace);
-  EXPECT_TRUE(found);
-  EXPECT_FALSE(entry.has_response_id());
-  EXPECT_EQ(kFallbackResponseId, fallback_entry.response_id());
-  EXPECT_EQ(kFallbackNamespaceEntry,
-            cache->GetFallbackEntryUrl(fallback_namespace));
-  EXPECT_TRUE(intercept_namespace.is_empty());
-  EXPECT_FALSE(network_namespace);
-}
-
-TEST_F(AppCacheTest, FindNetworkNamespacePatternResponseForRequest) {
-  MockAppCacheService service;
-
-  // Setup an appcache with a network namespace that uses pattern matching.
-  const GURL kNetworkNamespaceBase("http://blah/network_namespace/");
-  const GURL kNetworkPatternNamespace(
-      kNetworkNamespaceBase.Resolve("*.hit*"));
-  AppCacheManifest manifest;
-  manifest.online_whitelist_namespaces.push_back(
-      AppCacheNamespace(APPCACHE_NETWORK_NAMESPACE, kNetworkPatternNamespace,
-                GURL(), true));
-  manifest.online_whitelist_all = false;
-  auto cache = base::MakeRefCounted<AppCache>(service.storage(), 1234);
-  cache->InitializeWithManifest(&manifest);
-  cache->set_complete(true);
-
-  // See that the pattern match works.
-  bool found = false;
-  AppCacheEntry entry;
-  AppCacheEntry fallback_entry;
-  GURL intercept_namespace;
-  GURL fallback_namespace;
-  bool network_namespace = false;
-
-  found = cache->FindResponseForRequest(
-      GURL("http://blah/miss"),
-      &entry, &intercept_namespace,
-      &fallback_entry, &fallback_namespace,
-      &network_namespace);
-  EXPECT_FALSE(found);
-
-  found = cache->FindResponseForRequest(
-      GURL("http://blah/network_namespace/path.hit"),
-      &entry, &intercept_namespace,
-      &fallback_entry, &fallback_namespace,
-      &network_namespace);
-  EXPECT_TRUE(found);
-  EXPECT_TRUE(network_namespace);
-  EXPECT_FALSE(entry.has_response_id());
-  EXPECT_FALSE(fallback_entry.has_response_id());
-}
-
 TEST_F(AppCacheTest, ToFromDatabaseRecords) {
   // Setup a cache with some entries.
   const int64_t kCacheId = 1234;
@@ -553,16 +363,16 @@
   const std::string kManifestScope = kManifestUrl.GetWithoutFilename().path();
   const GURL kInterceptUrl("http://foo.com/intercept.html");
   const GURL kFallbackUrl("http://foo.com/fallback.html");
-  const GURL kWhitelistUrl("http://foo.com/whitelist*");
+  const GURL kWhitelistUrl("http://foo.com/whitelist");
   const std::string kData(
-    "CACHE MANIFEST\r"
-    "CHROMIUM-INTERCEPT:\r"
-    "/intercept return /intercept.html\r"
-    "FALLBACK:\r"
-    "/ /fallback.html\r"
-    "NETWORK:\r"
-    "/whitelist* isPattern\r"
-    "*\r");
+      "CACHE MANIFEST\r"
+      "CHROMIUM-INTERCEPT:\r"
+      "/intercept return /intercept.html\r"
+      "FALLBACK:\r"
+      "/ /fallback.html\r"
+      "NETWORK:\r"
+      "/whitelist\r"
+      "*\r");
   MockAppCacheService service;
   auto cache = base::MakeRefCounted<AppCache>(service.storage(), kCacheId);
   auto group = base::MakeRefCounted<AppCacheGroup>(service.storage(),
@@ -574,7 +384,6 @@
   cache->InitializeWithManifest(&manifest);
   EXPECT_EQ(APPCACHE_NETWORK_NAMESPACE,
             cache->online_whitelist_namespaces_[0].type);
-  EXPECT_FALSE(cache->online_whitelist_namespaces_[0].is_pattern);
   EXPECT_EQ(kWhitelistUrl,
             cache->online_whitelist_namespaces_[0].namespace_url);
   cache->AddEntry(kManifestUrl, AppCacheEntry(AppCacheEntry::MANIFEST,
@@ -631,7 +440,6 @@
   EXPECT_EQ(0 + 10 + 100, cache->padding_size());
   EXPECT_EQ(APPCACHE_NETWORK_NAMESPACE,
             cache->online_whitelist_namespaces_[0].type);
-  EXPECT_FALSE(cache->online_whitelist_namespaces_[0].is_pattern);
   EXPECT_EQ(kWhitelistUrl,
             cache->online_whitelist_namespaces_[0].namespace_url);
 }
@@ -639,74 +447,41 @@
 TEST_F(AppCacheTest, IsNamespaceMatch) {
   AppCacheNamespace prefix;
   prefix.namespace_url = GURL("http://foo.com/prefix");
-  prefix.is_pattern = false;
+  EXPECT_TRUE(prefix.IsMatch(GURL("http://foo.com/prefix")));
   EXPECT_TRUE(prefix.IsMatch(
       GURL("http://foo.com/prefix_and_anothing_goes")));
+  EXPECT_TRUE(prefix.IsMatch(GURL("http://foo.com/prefix/this_too")));
+  EXPECT_TRUE(prefix.IsMatch(GURL("http://foo.com/prefix/")));
   EXPECT_FALSE(prefix.IsMatch(
       GURL("http://foo.com/nope")));
 
-  AppCacheNamespace bar_no_star;
-  bar_no_star.namespace_url = GURL("http://foo.com/bar");
-  bar_no_star.is_pattern = true;
-  EXPECT_TRUE(bar_no_star.IsMatch(
-      GURL("http://foo.com/bar")));
-  EXPECT_FALSE(bar_no_star.IsMatch(
-      GURL("http://foo.com/bar/nope")));
-
+  // The following tests ensure that wildcards are not supported. Chrome used
+  // to support an `isPattern` extension enabling wildcard matching.
   AppCacheNamespace bar_star;
   bar_star.namespace_url = GURL("http://foo.com/bar/*");
-  bar_star.is_pattern = true;
-  EXPECT_TRUE(bar_star.IsMatch(
-      GURL("http://foo.com/bar/")));
-  EXPECT_TRUE(bar_star.IsMatch(
-      GURL("http://foo.com/bar/should_match")));
-  EXPECT_FALSE(bar_star.IsMatch(
-      GURL("http://foo.com/not_bar/should_not_match")));
+  EXPECT_FALSE(bar_star.IsMatch(GURL("http://foo.com/bar/")));
+  EXPECT_FALSE(bar_star.IsMatch(GURL("http://foo.com/bar/should_not_match")));
+  EXPECT_FALSE(
+      bar_star.IsMatch(GURL("http://foo.com/not_bar/should_not_match")));
 
   AppCacheNamespace star_bar_star;
   star_bar_star.namespace_url = GURL("http://foo.com/*/bar/*");
-  star_bar_star.is_pattern = true;
-  EXPECT_TRUE(star_bar_star.IsMatch(
-      GURL("http://foo.com/any/bar/should_match")));
-  EXPECT_TRUE(star_bar_star.IsMatch(
-      GURL("http://foo.com/any/bar/")));
+  EXPECT_FALSE(
+      star_bar_star.IsMatch(GURL("http://foo.com/any/bar/should_not_match")));
+  EXPECT_FALSE(star_bar_star.IsMatch(GURL("http://foo.com/any/bar/")));
   EXPECT_FALSE(star_bar_star.IsMatch(
       GURL("http://foo.com/any/not_bar/no_match")));
 
   AppCacheNamespace query_star_edit;
   query_star_edit.namespace_url = GURL("http://foo.com/query?id=*&verb=edit*");
-  query_star_edit.is_pattern = true;
-  EXPECT_TRUE(query_star_edit.IsMatch(
+  EXPECT_FALSE(query_star_edit.IsMatch(
       GURL("http://foo.com/query?id=1234&verb=edit&option=blue")));
-  EXPECT_TRUE(query_star_edit.IsMatch(
+  EXPECT_FALSE(query_star_edit.IsMatch(
       GURL("http://foo.com/query?id=12345&option=blue&verb=edit")));
   EXPECT_FALSE(query_star_edit.IsMatch(
       GURL("http://foo.com/query?id=12345&option=blue&verb=print")));
-  EXPECT_TRUE(query_star_edit.IsMatch(
+  EXPECT_FALSE(query_star_edit.IsMatch(
       GURL("http://foo.com/query?id=123&verb=print&verb=edit")));
-
-  AppCacheNamespace star_greediness;
-  star_greediness.namespace_url = GURL("http://foo.com/*/b");
-  star_greediness.is_pattern = true;
-  EXPECT_TRUE(star_greediness.IsMatch(
-      GURL("http://foo.com/a/b")));
-  EXPECT_TRUE(star_greediness.IsMatch(
-      GURL("http://foo.com/a/wxy/z/b")));
-  EXPECT_TRUE(star_greediness.IsMatch(
-      GURL("http://foo.com/a/b/b")));
-  EXPECT_TRUE(star_greediness.IsMatch(
-      GURL("http://foo.com/b/b")));
-  EXPECT_TRUE(star_greediness.IsMatch(
-      GURL("http://foo.com/a/b/b/b/b/b")));
-  EXPECT_TRUE(star_greediness.IsMatch(
-      GURL("http://foo.com/a/b/b/b/a/b")));
-  EXPECT_TRUE(star_greediness.IsMatch(
-      GURL("http://foo.com/a/b/01234567890abcdef/b")));
-  EXPECT_TRUE(star_greediness.IsMatch(
-      GURL("http://foo.com/a/b/01234567890abcdef/b01234567890abcdef/b")));
-  EXPECT_TRUE(star_greediness.IsMatch(
-      GURL("http://foo.com/a/b/01234567890abcdef_eat_some_more_characters_"
-           "/and_even_more_for_the_heck_of_it/01234567890abcdef/b")));
 }
 
 TEST_F(AppCacheTest, CheckValidManifestScopeTests) {
diff --git a/content/browser/appcache/appcache_update_job_unittest.cc b/content/browser/appcache/appcache_update_job_unittest.cc
index 3ee2543..ba1d929 100644
--- a/content/browser/appcache/appcache_update_job_unittest.cc
+++ b/content/browser/appcache/appcache_update_job_unittest.cc
@@ -4145,11 +4145,11 @@
 
     expected = 1;
     ASSERT_EQ(expected, cache->fallback_namespaces_.size());
-    EXPECT_TRUE(cache->fallback_namespaces_[0] ==
-                AppCacheNamespace(
-                    APPCACHE_FALLBACK_NAMESPACE,
-                    MockHttpServer::GetMockUrl("files/fallback1"),
-                    MockHttpServer::GetMockUrl("files/fallback1a"), false));
+    EXPECT_TRUE(
+        cache->fallback_namespaces_[0] ==
+        AppCacheNamespace(APPCACHE_FALLBACK_NAMESPACE,
+                          MockHttpServer::GetMockUrl("files/fallback1"),
+                          MockHttpServer::GetMockUrl("files/fallback1a")));
 
     EXPECT_TRUE(cache->online_whitelist_namespaces_.empty());
     EXPECT_TRUE(cache->online_whitelist_all_);
@@ -4191,16 +4191,16 @@
 
     expected = 2;
     ASSERT_EQ(expected, cache->fallback_namespaces_.size());
-    EXPECT_TRUE(cache->fallback_namespaces_[0] ==
-                AppCacheNamespace(
-                    APPCACHE_FALLBACK_NAMESPACE,
-                    MockHttpServer::GetMockUrl("files/fallback1"),
-                    MockHttpServer::GetMockUrl("files/fallback1a"), false));
-    EXPECT_TRUE(cache->fallback_namespaces_[1] ==
-                AppCacheNamespace(
-                    APPCACHE_FALLBACK_NAMESPACE,
-                    MockHttpServer::GetMockUrl("bar/fallback2"),
-                    MockHttpServer::GetMockUrl("files/fallback2a"), false));
+    EXPECT_TRUE(
+        cache->fallback_namespaces_[0] ==
+        AppCacheNamespace(APPCACHE_FALLBACK_NAMESPACE,
+                          MockHttpServer::GetMockUrl("files/fallback1"),
+                          MockHttpServer::GetMockUrl("files/fallback1a")));
+    EXPECT_TRUE(
+        cache->fallback_namespaces_[1] ==
+        AppCacheNamespace(APPCACHE_FALLBACK_NAMESPACE,
+                          MockHttpServer::GetMockUrl("bar/fallback2"),
+                          MockHttpServer::GetMockUrl("files/fallback2a")));
 
     EXPECT_TRUE(cache->online_whitelist_namespaces_.empty());
     EXPECT_TRUE(cache->online_whitelist_all_);
@@ -4237,11 +4237,11 @@
 
     expected = 1;
     ASSERT_EQ(expected, cache->fallback_namespaces_.size());
-    EXPECT_TRUE(cache->fallback_namespaces_[0] ==
-                AppCacheNamespace(
-                    APPCACHE_FALLBACK_NAMESPACE,
-                    MockHttpServer::GetMockUrl("files/fallback1"),
-                    MockHttpServer::GetMockUrl("files/fallback1a"), false));
+    EXPECT_TRUE(
+        cache->fallback_namespaces_[0] ==
+        AppCacheNamespace(APPCACHE_FALLBACK_NAMESPACE,
+                          MockHttpServer::GetMockUrl("files/fallback1"),
+                          MockHttpServer::GetMockUrl("files/fallback1a")));
 
     EXPECT_TRUE(cache->online_whitelist_namespaces_.empty());
     EXPECT_TRUE(cache->online_whitelist_all_);
@@ -4265,17 +4265,17 @@
 
     expected = 1;
     ASSERT_EQ(expected, cache->fallback_namespaces_.size());
-    EXPECT_TRUE(cache->fallback_namespaces_[0] ==
-                AppCacheNamespace(APPCACHE_FALLBACK_NAMESPACE,
-                                  MockHttpServer::GetMockUrl("files/fallback1"),
-                                  MockHttpServer::GetMockUrl("files/explicit1"),
-                                  false));
+    EXPECT_TRUE(
+        cache->fallback_namespaces_[0] ==
+        AppCacheNamespace(APPCACHE_FALLBACK_NAMESPACE,
+                          MockHttpServer::GetMockUrl("files/fallback1"),
+                          MockHttpServer::GetMockUrl("files/explicit1")));
 
     EXPECT_EQ(expected, cache->online_whitelist_namespaces_.size());
     EXPECT_TRUE(cache->online_whitelist_namespaces_[0] ==
                 AppCacheNamespace(APPCACHE_NETWORK_NAMESPACE,
                                   MockHttpServer::GetMockUrl("files/online1"),
-                                  GURL(), false));
+                                  GURL()));
     EXPECT_FALSE(cache->online_whitelist_all_);
 
     EXPECT_TRUE(cache->update_time_ > base::Time());
@@ -4368,24 +4368,23 @@
 
     // Set up the expected intercepts.
     std::vector<AppCacheNamespace> expected_root = {
-        AppCacheNamespace(
-            APPCACHE_INTERCEPT_NAMESPACE, MockHttpServer::GetMockUrl(""),
-            MockHttpServer::GetMockUrl("intercept-newroot/foo"), false),
+        AppCacheNamespace(APPCACHE_INTERCEPT_NAMESPACE,
+                          MockHttpServer::GetMockUrl(""),
+                          MockHttpServer::GetMockUrl("intercept-newroot/foo")),
     };
     std::vector<AppCacheNamespace> expected_bar = {
-        AppCacheNamespace(
-            APPCACHE_INTERCEPT_NAMESPACE, MockHttpServer::GetMockUrl("bar/foo"),
-            MockHttpServer::GetMockUrl("intercept-newbar/foo"), false),
+        AppCacheNamespace(APPCACHE_INTERCEPT_NAMESPACE,
+                          MockHttpServer::GetMockUrl("bar/foo"),
+                          MockHttpServer::GetMockUrl("intercept-newbar/foo")),
         AppCacheNamespace(
             APPCACHE_INTERCEPT_NAMESPACE,
             MockHttpServer::GetMockUrl("bar/baz/foo"),
-            MockHttpServer::GetMockUrl("intercept-newbar/newbaz/foo"), false),
+            MockHttpServer::GetMockUrl("intercept-newbar/newbaz/foo")),
     };
     std::vector<AppCacheNamespace> expected_other = {
         AppCacheNamespace(APPCACHE_INTERCEPT_NAMESPACE,
                           MockHttpServer::GetMockUrl("other/foo"),
-                          MockHttpServer::GetMockUrl("intercept-newother/foo"),
-                          false),
+                          MockHttpServer::GetMockUrl("intercept-newother/foo")),
     };
 
     switch (tested_manifest_) {
@@ -4417,24 +4416,23 @@
 
     // Set up the expected fallbacks.
     std::vector<AppCacheNamespace> expected_root = {
-        AppCacheNamespace(
-            APPCACHE_FALLBACK_NAMESPACE, MockHttpServer::GetMockUrl(""),
-            MockHttpServer::GetMockUrl("fallback-newroot/foo"), false),
+        AppCacheNamespace(APPCACHE_FALLBACK_NAMESPACE,
+                          MockHttpServer::GetMockUrl(""),
+                          MockHttpServer::GetMockUrl("fallback-newroot/foo")),
     };
     std::vector<AppCacheNamespace> expected_bar = {
-        AppCacheNamespace(
-            APPCACHE_FALLBACK_NAMESPACE, MockHttpServer::GetMockUrl("bar/foo"),
-            MockHttpServer::GetMockUrl("fallback-newbar/foo"), false),
+        AppCacheNamespace(APPCACHE_FALLBACK_NAMESPACE,
+                          MockHttpServer::GetMockUrl("bar/foo"),
+                          MockHttpServer::GetMockUrl("fallback-newbar/foo")),
         AppCacheNamespace(
             APPCACHE_FALLBACK_NAMESPACE,
             MockHttpServer::GetMockUrl("bar/baz/foo"),
-            MockHttpServer::GetMockUrl("fallback-newbar/newbaz/foo"), false),
+            MockHttpServer::GetMockUrl("fallback-newbar/newbaz/foo")),
     };
     std::vector<AppCacheNamespace> expected_other = {
         AppCacheNamespace(APPCACHE_FALLBACK_NAMESPACE,
                           MockHttpServer::GetMockUrl("other/foo"),
-                          MockHttpServer::GetMockUrl("fallback-newother/foo"),
-                          false),
+                          MockHttpServer::GetMockUrl("fallback-newother/foo")),
     };
 
     switch (tested_manifest_) {
diff --git a/content/browser/appcache/mock_appcache_storage_unittest.cc b/content/browser/appcache/mock_appcache_storage_unittest.cc
index cc5544292..2f029de 100644
--- a/content/browser/appcache/mock_appcache_storage_unittest.cc
+++ b/content/browser/appcache/mock_appcache_storage_unittest.cc
@@ -478,12 +478,10 @@
   const int64_t kResponseId2 = 2;
 
   AppCacheManifest manifest;
-  manifest.fallback_namespaces.push_back(
-      AppCacheNamespace(APPCACHE_FALLBACK_NAMESPACE, kFallbackNamespaceUrl1,
-                kFallbackEntryUrl1, false));
-  manifest.fallback_namespaces.push_back(
-      AppCacheNamespace(APPCACHE_FALLBACK_NAMESPACE, kFallbackNamespaceUrl2,
-                kFallbackEntryUrl2, false));
+  manifest.fallback_namespaces.push_back(AppCacheNamespace(
+      APPCACHE_FALLBACK_NAMESPACE, kFallbackNamespaceUrl1, kFallbackEntryUrl1));
+  manifest.fallback_namespaces.push_back(AppCacheNamespace(
+      APPCACHE_FALLBACK_NAMESPACE, kFallbackNamespaceUrl2, kFallbackEntryUrl2));
 
   auto cache = base::MakeRefCounted<AppCache>(service.storage(), kCacheId);
   cache->InitializeWithManifest(&manifest);
@@ -591,9 +589,8 @@
   const int64_t kResponseId = 1;
 
   AppCacheManifest manifest;
-  manifest.online_whitelist_namespaces.push_back(
-      AppCacheNamespace(APPCACHE_NETWORK_NAMESPACE, kOnlineNamespaceUrl,
-                GURL(), false));
+  manifest.online_whitelist_namespaces.push_back(AppCacheNamespace(
+      APPCACHE_NETWORK_NAMESPACE, kOnlineNamespaceUrl, GURL()));
   auto cache = base::MakeRefCounted<AppCache>(service.storage(), kCacheId);
   cache->InitializeWithManifest(&manifest);
   cache->AddEntry(
diff --git a/content/browser/renderer_host/input/fling_browsertest.cc b/content/browser/renderer_host/input/fling_browsertest.cc
index 383cc59..71cf2f9 100644
--- a/content/browser/renderer_host/input/fling_browsertest.cc
+++ b/content/browser/renderer_host/input/fling_browsertest.cc
@@ -503,6 +503,26 @@
   EXPECT_TRUE(
       router->forced_last_fling_start_target_to_stop_flinging_for_test());
 }
+
+// Check that fling controller does not generate fling curve when view is
+// destroyed.
+IN_PROC_BROWSER_TEST_F(BrowserSideFlingBrowserTest,
+                       NoFlingWhenViewIsDestroyed) {
+  LoadURL(kBrowserFlingDataURL);
+  FrameTreeNode* root = static_cast<WebContentsImpl*>(shell()->web_contents())
+                            ->GetFrameTree()
+                            ->root();
+
+  GetWidgetHost()->GetView()->Destroy();
+  SimulateTouchscreenFling(GetWidgetHost());
+
+  // As the view is destroyed, there shouldn't be any active fling.
+  EXPECT_FALSE(static_cast<InputRouterImpl*>(GetWidgetHost()->input_router())
+                   ->IsFlingActiveForTest());
+
+  EXPECT_EQ(
+      0, EvalJs(root->current_frame_host(), "window.scrollY").ExtractDouble());
+}
 #endif  // !defined(OS_MACOSX)
 
 class PhysicsBasedFlingCurveBrowserTest : public BrowserSideFlingBrowserTest {
diff --git a/content/browser/renderer_host/input/fling_controller.cc b/content/browser/renderer_host/input/fling_controller.cc
index 96dfd493a..cc36a2b 100644
--- a/content/browser/renderer_host/input/fling_controller.cc
+++ b/content/browser/renderer_host/input/fling_controller.cc
@@ -391,14 +391,24 @@
     return false;
   }
 
+  gfx::Size root_widget_viewport_size =
+      event_sender_client_->GetRootWidgetViewportSize();
+  // If the view is destroyed while FlingController is generating fling curve,
+  // |GetRootWidgetViewportSize()| will return empty size. Reset the
+  // state of fling_booster_ and return false.
+  if (root_widget_viewport_size.IsEmpty()) {
+    fling_booster_.Reset();
+    EndCurrentFling();
+    return false;
+  }
+
   fling_curve_ = std::unique_ptr<blink::WebGestureCurve>(
       ui::WebGestureCurveImpl::CreateFromDefaultPlatformCurve(
           current_fling_parameters_.source_device,
           current_fling_parameters_.velocity,
           gfx::Vector2dF() /*initial_offset*/, false /*on_main_thread*/,
           GetContentClient()->browser()->ShouldUseMobileFlingCurve(),
-          current_fling_parameters_.global_point,
-          event_sender_client_->GetRootWidgetViewportSize()));
+          current_fling_parameters_.global_point, root_widget_viewport_size));
   return true;
 }
 
diff --git a/content/browser/renderer_host/input/gesture_event_queue.h b/content/browser/renderer_host/input/gesture_event_queue.h
index 98198af..b00adf5 100644
--- a/content/browser/renderer_host/input/gesture_event_queue.h
+++ b/content/browser/renderer_host/input/gesture_event_queue.h
@@ -132,6 +132,8 @@
                        InputEventAckSource ack_source,
                        InputEventAckState ack_result);
 
+  bool IsFlingActiveForTest() { return FlingInProgressForTest(); }
+
  private:
   friend class GestureEventQueueTest;
   friend class MockRenderWidgetHost;
diff --git a/content/browser/renderer_host/input/input_router_impl.cc b/content/browser/renderer_host/input/input_router_impl.cc
index 4b3e151..eb48051d 100644
--- a/content/browser/renderer_host/input/input_router_impl.cc
+++ b/content/browser/renderer_host/input/input_router_impl.cc
@@ -710,6 +710,10 @@
   touch_action_filter_.ForceResetTouchActionForTest();
 }
 
+bool InputRouterImpl::IsFlingActiveForTest() {
+  return gesture_event_queue_.IsFlingActiveForTest();
+}
+
 void InputRouterImpl::OnSetTouchAction(cc::TouchAction touch_action) {
   TRACE_EVENT1("input", "InputRouterImpl::OnSetTouchAction", "action",
                touch_action);
diff --git a/content/browser/renderer_host/input/input_router_impl.h b/content/browser/renderer_host/input/input_router_impl.h
index 70447a2..2ebf853 100644
--- a/content/browser/renderer_host/input/input_router_impl.h
+++ b/content/browser/renderer_host/input/input_router_impl.h
@@ -122,6 +122,8 @@
 
   void ForceResetTouchActionForTest();
 
+  bool IsFlingActiveForTest();
+
  private:
   friend class InputRouterImplTest;
   friend class InputRouterImplTestBase;
diff --git a/content/browser/renderer_host/input/mouse_wheel_event_queue.cc b/content/browser/renderer_host/input/mouse_wheel_event_queue.cc
index 174a154..4d87936 100644
--- a/content/browser/renderer_host/input/mouse_wheel_event_queue.cc
+++ b/content/browser/renderer_host/input/mouse_wheel_event_queue.cc
@@ -210,10 +210,14 @@
       RecordLatchingUmaMetric(client_->IsWheelScrollInProgress());
 
     bool synthetic = event_sent_for_gesture_ack_->event.has_synthetic_phase;
-    if (event_sent_for_gesture_ack_->event.phase ==
-        blink::WebMouseWheelEvent::kPhaseBegan) {
-      // Wheel event with phaseBegan must have non-zero deltas.
-      DCHECK(needs_update);
+
+    // Generally, there should always be a non-zero delta with kPhaseBegan
+    // events. However, sometimes this is not the case and the delta in both
+    // directions is 0. When this occurs, don't call SendScrollBegin because
+    // scroll direction is necessary in order to determine the correct scroller
+    // to target and latch to.
+    if (needs_update && event_sent_for_gesture_ack_->event.phase ==
+                            blink::WebMouseWheelEvent::kPhaseBegan) {
       send_wheel_events_async_ = true;
 
       if (!client_->IsWheelScrollInProgress())
diff --git a/content/browser/renderer_host/render_widget_host_impl.cc b/content/browser/renderer_host/render_widget_host_impl.cc
index be7b11fe..191b771 100644
--- a/content/browser/renderer_host/render_widget_host_impl.cc
+++ b/content/browser/renderer_host/render_widget_host_impl.cc
@@ -1228,18 +1228,20 @@
     is_in_gesture_scroll_[static_cast<int>(gesture_event.SourceDevice())] =
         false;
     is_in_touchpad_gesture_fling_ = false;
-    if (scroll_peak_gpu_mem_tracker_ &&
-        !view_->is_currently_scrolling_viewport()) {
-      // We start tracking peak gpu-memory usage when the initial scroll-begin
-      // is dispatched. However, it is possible that the scroll-begin did not
-      // trigger any scrolls (e.g. the page is not scrollable). In such cases,
-      // we do not want to report the peak-memory usage metric. So it is
-      // canceled here.
-      scroll_peak_gpu_mem_tracker_->Cancel();
+    if (view_) {
+      if (scroll_peak_gpu_mem_tracker_ &&
+          !view_->is_currently_scrolling_viewport()) {
+        // We start tracking peak gpu-memory usage when the initial scroll-begin
+        // is dispatched. However, it is possible that the scroll-begin did not
+        // trigger any scrolls (e.g. the page is not scrollable). In such cases,
+        // we do not want to report the peak-memory usage metric. So it is
+        // canceled here.
+        scroll_peak_gpu_mem_tracker_->Cancel();
+      }
+
+      view_->set_is_currently_scrolling_viewport(false);
     }
     scroll_peak_gpu_mem_tracker_ = nullptr;
-    if (view_)
-      view_->set_is_currently_scrolling_viewport(false);
   } else if (gesture_event.GetType() ==
              blink::WebInputEvent::kGestureFlingStart) {
     if (gesture_event.SourceDevice() == blink::WebGestureDevice::kTouchpad) {
@@ -3144,7 +3146,15 @@
 }
 
 gfx::Size RenderWidgetHostImpl::GetRootWidgetViewportSize() {
+  if (!view_)
+    return gfx::Size();
+
+  // if |view_| is RWHVCF and |frame_connector_| is destroyed, then call to
+  // GetRootView will return null pointer.
   auto* root_view = view_->GetRootView();
+  if (!root_view)
+    return gfx::Size();
+
   return root_view->GetVisibleViewportSize();
 }
 
diff --git a/content/browser/service_worker/service_worker_offline_capability_check_browsertest.cc b/content/browser/service_worker/service_worker_offline_capability_check_browsertest.cc
index 08b30a97..a16f148 100644
--- a/content/browser/service_worker/service_worker_offline_capability_check_browsertest.cc
+++ b/content/browser/service_worker/service_worker_offline_capability_check_browsertest.cc
@@ -72,7 +72,8 @@
       scoped_refptr<ServiceWorkerVersion> version) {
     ASSERT_TRUE(
         BrowserThread::CurrentlyOn(ServiceWorkerContext::GetCoreThreadId()));
-    ASSERT_EQ(ServiceWorkerVersion::ACTIVATED, version->status());
+    ASSERT_TRUE(version->status() == ServiceWorkerVersion::ACTIVATING ||
+                version->status() == ServiceWorkerVersion::ACTIVATED);
 
     for (FetchEventDispatch& fetch_event_dispatch : fetch_event_dispatches_) {
       FetchOnCoreThread(done_barrier_closure_on_ui, embedded_test_server,
@@ -644,7 +645,7 @@
                                 "/service_worker/create_service_worker.html")));
   EXPECT_EQ("DONE", EvalJs(shell(), "register('maybe_offline_support.js')"));
 
-  // At this point, a service worker's status is ACTIVATED because
+  // At this point, a service worker's status is ACTIVATING or ACTIVATED because
   // register() awaits navigator.serviceWorker.ready promise.
 
   EXPECT_EQ(OfflineCapability::kUnsupported,
diff --git a/content/browser/web_package/signed_exchange_loader.cc b/content/browser/web_package/signed_exchange_loader.cc
index 0bb0c84..cbe9852c 100644
--- a/content/browser/web_package/signed_exchange_loader.cc
+++ b/content/browser/web_package/signed_exchange_loader.cc
@@ -42,15 +42,6 @@
 constexpr char kLoadResultHistogram[] = "SignedExchange.LoadResult2";
 constexpr char kPrefetchLoadResultHistogram[] =
     "SignedExchange.Prefetch.LoadResult2";
-constexpr char kContentTypeOptionsHeaderName[] = "x-content-type-options";
-constexpr char kNoSniffHeaderValue[] = "nosniff";
-
-bool HasNoSniffHeader(const network::mojom::URLResponseHead& response) {
-  std::string content_type_options;
-  response.headers->EnumerateHeader(nullptr, kContentTypeOptionsHeaderName,
-                                    &content_type_options);
-  return base::LowerCaseEqualsASCII(content_type_options, kNoSniffHeaderValue);
-}
 
 SignedExchangeHandlerFactory* g_signed_exchange_factory_for_testing_ = nullptr;
 
@@ -163,7 +154,8 @@
 
   signed_exchange_handler_ = std::make_unique<SignedExchangeHandler>(
       IsOriginSecure(outer_request_.url),
-      HasNoSniffHeader(*outer_response_head_), content_type_,
+      signed_exchange_utils::HasNoSniffHeader(*outer_response_head_),
+      content_type_,
       std::make_unique<network::DataPipeToSourceStream>(
           std::move(response_body)),
       base::BindOnce(&SignedExchangeLoader::OnHTTPExchangeFound,
diff --git a/content/browser/web_package/signed_exchange_utils.cc b/content/browser/web_package/signed_exchange_utils.cc
index 79ccc40e..7c0ebe7 100644
--- a/content/browser/web_package/signed_exchange_utils.cc
+++ b/content/browser/web_package/signed_exchange_utils.cc
@@ -28,6 +28,8 @@
 namespace signed_exchange_utils {
 
 namespace {
+constexpr char kContentTypeOptionsHeaderName[] = "x-content-type-options";
+constexpr char kNoSniffHeaderValue[] = "nosniff";
 base::Optional<base::Time> g_verification_time_for_testing;
 }  // namespace
 
@@ -80,6 +82,13 @@
   return true;
 }
 
+bool HasNoSniffHeader(const network::mojom::URLResponseHead& response) {
+  std::string content_type_options;
+  response.headers->EnumerateHeader(nullptr, kContentTypeOptionsHeaderName,
+                                    &content_type_options);
+  return base::LowerCaseEqualsASCII(content_type_options, kNoSniffHeaderValue);
+}
+
 base::Optional<SignedExchangeVersion> GetSignedExchangeVersion(
     const std::string& content_type) {
   // https://wicg.github.io/webpackage/loading.html#signed-exchange-version
diff --git a/content/browser/web_package/signed_exchange_utils.h b/content/browser/web_package/signed_exchange_utils.h
index 640baa9..d2ee7fb8 100644
--- a/content/browser/web_package/signed_exchange_utils.h
+++ b/content/browser/web_package/signed_exchange_utils.h
@@ -59,6 +59,9 @@
     const GURL& request_url,
     const network::mojom::URLResponseHead& head);
 
+// Returns true if |response| has "X-Content-Type-Options: nosniff" header.
+bool HasNoSniffHeader(const network::mojom::URLResponseHead& response);
+
 // Extracts the signed exchange version [1] from |content_type|, and converts it
 // to SignedExchanveVersion. Returns nullopt if the mime type is not a variant
 // of application/signed-exchange. Returns SignedExchangeVersion::kUnknown if an
diff --git a/content/browser/web_package/web_bundle_browsertest.cc b/content/browser/web_package/web_bundle_browsertest.cc
index da160c24..744d3163 100644
--- a/content/browser/web_package/web_bundle_browsertest.cc
+++ b/content/browser/web_package/web_bundle_browsertest.cc
@@ -51,6 +51,11 @@
 constexpr char kTestPageForHashUrl[] =
     "https://test.example.org/hash.html#hello";
 
+constexpr char kDefaultHeaders[] =
+    "HTTP/1.1 200 OK\n"
+    "Content-Type: application/webbundle\n"
+    "X-Content-Type-Options: nosniff\n";
+
 base::FilePath GetTestDataPath(base::StringPiece file) {
   base::FilePath test_data_dir;
   CHECK(base::PathService::Get(base::DIR_SOURCE_ROOT, &test_data_dir));
@@ -1042,12 +1047,13 @@
   }
 
   void SetHeaders(const std::string& headers) { headers_ = headers; }
+  void AddHeaders(const std::string& headers) { headers_ += headers; }
   void SetContents(const std::string& contents) { contents_ = contents; }
   const std::string& contents() const { return contents_; }
 
  private:
   base::test::ScopedFeatureList feature_list_;
-  std::string headers_;
+  std::string headers_ = kDefaultHeaders;
   std::string contents_;
 
   DISALLOW_COPY_AND_ASSIGN(WebBundleNetworkBrowserTest);
@@ -1057,9 +1063,6 @@
   const std::string wbn_path = "/web_bundle/test.wbn";
   const std::string primary_url_path = "/web_bundle/test.html";
   RegisterRequestHandler(wbn_path);
-  SetHeaders(
-      "HTTP/1.1 200 OK\n"
-      "Content-Type:application/webbundle\n");
   ASSERT_TRUE(embedded_test_server()->Start());
 
   const GURL wbn_url = embedded_test_server()->GetURL(wbn_path);
@@ -1072,9 +1075,6 @@
 IN_PROC_BROWSER_TEST_F(WebBundleNetworkBrowserTest, SimpleWithScript) {
   const std::string wbn_path = "/web_bundle/test.wbn";
   RegisterRequestHandler(wbn_path);
-  SetHeaders(
-      "HTTP/1.1 200 OK\n"
-      "Content-Type:application/webbundle\n");
   ASSERT_TRUE(embedded_test_server()->Start());
 
   const GURL wbn_url = embedded_test_server()->GetURL(wbn_path);
@@ -1101,10 +1101,7 @@
   const std::string wbn_path = "/web_bundle/test.wbn";
   const std::string primary_url_path = "/web_bundle/test.html";
   RegisterRequestHandler(wbn_path);
-  SetHeaders(
-      "HTTP/1.1 200 OK\n"
-      "Content-Disposition:attachment; filename=test.wbn\n"
-      "Content-Type:application/webbundle\n");
+  AddHeaders("Content-Disposition:attachment; filename=test.wbn\n");
   ASSERT_TRUE(embedded_test_server()->Start());
 
   const GURL wbn_url = embedded_test_server()->GetURL(wbn_path);
@@ -1131,11 +1128,8 @@
   const GURL primary_url = embedded_test_server()->GetURL(primary_url_path);
 
   SetContents(CreateSimpleWebBundle(primary_url));
-  SetHeaders(
-      base::StringPrintf("HTTP/1.1 200 OK\n"
-                         "Content-Type:application/webbundle\n"
-                         "Content-Length: %" PRIuS "\n",
-                         contents().size()));
+  AddHeaders(
+      base::StringPrintf("Content-Length: %" PRIuS "\n", contents().size()));
   NavigateToBundleAndWaitForReady(wbn_url, primary_url);
 }
 
@@ -1143,9 +1137,6 @@
   const std::string wbn_path = "/web_bundle/test.wbn";
   const std::string primary_url_path = "/web_bundle/test.html";
   RegisterRequestHandler(wbn_path);
-  SetHeaders(
-      "HTTP/1.1 200 OK\n"
-      "Content-Type:application/webbundle\n");
   ASSERT_TRUE(embedded_test_server()->Start());
 
   const GURL wbn_url = embedded_test_server()->GetURL("example.com", wbn_path);
@@ -1157,13 +1148,28 @@
       "Web Bundle response must be served from HTTPS or localhost HTTP.");
 }
 
+IN_PROC_BROWSER_TEST_F(WebBundleNetworkBrowserTest, MissingNosniff) {
+  const std::string wbn_path = "/web_bundle/test.wbn";
+  const std::string primary_url_path = "/web_bundle/test.html";
+  RegisterRequestHandler(wbn_path);
+  ASSERT_TRUE(embedded_test_server()->Start());
+
+  const GURL wbn_url = embedded_test_server()->GetURL(wbn_path);
+  const GURL primary_url = embedded_test_server()->GetURL(primary_url_path);
+
+  SetContents(CreateSimpleWebBundle(primary_url));
+  SetHeaders(
+      "HTTP/1.1 200 OK\n"
+      "Content-Type: application/webbundle\n");
+  TestNavigationFailure(wbn_url,
+                        "Web Bundle response must have "
+                        "\"X-Content-Type-Options: nosniff\" header.");
+}
+
 IN_PROC_BROWSER_TEST_F(WebBundleNetworkBrowserTest, PrimaryURLNotFound) {
   const std::string wbn_path = "/web_bundle/test.wbn";
   const std::string primary_url_path = "/web_bundle/test.html";
   RegisterRequestHandler(wbn_path);
-  SetHeaders(
-      "HTTP/1.1 200 OK\n"
-      "Content-Type:application/webbundle\n");
   ASSERT_TRUE(embedded_test_server()->Start());
 
   const GURL wbn_url = embedded_test_server()->GetURL(wbn_path);
@@ -1184,9 +1190,6 @@
   const std::string wbn_path = "/web_bundle/test.wbn";
   const std::string primary_url_path = "/web_bundle/test.html";
   RegisterRequestHandler(wbn_path);
-  SetHeaders(
-      "HTTP/1.1 200 OK\n"
-      "Content-Type:application/webbundle\n");
   ASSERT_TRUE(embedded_test_server()->Start());
 
   const GURL primary_url =
@@ -1203,9 +1206,6 @@
   const std::string wbn_path = "/web_bundle/test.wbn";
   const std::string primary_url_path = "/web_bundle/test.html";
   RegisterRequestHandler(wbn_path);
-  SetHeaders(
-      "HTTP/1.1 200 OK\n"
-      "Content-Type:application/webbundle\n");
   SetContents("This is an invalid Web Bundle file.");
   ASSERT_TRUE(embedded_test_server()->Start());
 
@@ -1217,9 +1217,6 @@
 IN_PROC_BROWSER_TEST_F(WebBundleNetworkBrowserTest, DataDecoderRestart) {
   const std::string wbn_path = "/web_bundle/test.wbn";
   RegisterRequestHandler(wbn_path);
-  SetHeaders(
-      "HTTP/1.1 200 OK\n"
-      "Content-Type:application/webbundle\n");
   ASSERT_TRUE(embedded_test_server()->Start());
 
   const GURL primary_url =
@@ -1252,9 +1249,6 @@
 IN_PROC_BROWSER_TEST_F(WebBundleNetworkBrowserTest, ParseMetadataCrash) {
   const std::string wbn_path = "/web_bundle/test.wbn";
   RegisterRequestHandler(wbn_path);
-  SetHeaders(
-      "HTTP/1.1 200 OK\n"
-      "Content-Type:application/webbundle\n");
   SetContents("<title>Ready</title>");
   ASSERT_TRUE(embedded_test_server()->Start());
 
@@ -1273,9 +1267,6 @@
 IN_PROC_BROWSER_TEST_F(WebBundleNetworkBrowserTest, ParseResponseCrash) {
   const std::string wbn_path = "/web_bundle/test.wbn";
   RegisterRequestHandler(wbn_path);
-  SetHeaders(
-      "HTTP/1.1 200 OK\n"
-      "Content-Type:application/webbundle\n");
   SetContents("<title>Ready</title>");
   ASSERT_TRUE(embedded_test_server()->Start());
 
@@ -1295,9 +1286,6 @@
   const std::string wbn_path = "/web_bundle/test.wbn";
   const std::string primary_url_path = "/other_dir/test.html";
   RegisterRequestHandler(wbn_path);
-  SetHeaders(
-      "HTTP/1.1 200 OK\n"
-      "Content-Type:application/webbundle\n");
   ASSERT_TRUE(embedded_test_server()->Start());
 
   const GURL wbn_url = embedded_test_server()->GetURL(wbn_path);
@@ -1314,9 +1302,6 @@
 IN_PROC_BROWSER_TEST_F(WebBundleNetworkBrowserTest, Navigations) {
   const std::string wbn_path = "/web_bundle/path_test/in_scope/path_test.wbn";
   RegisterRequestHandler(wbn_path);
-  SetHeaders(
-      "HTTP/1.1 200 OK\n"
-      "Content-Type:application/webbundle\n");
   ASSERT_TRUE(embedded_test_server()->Start());
   SetContents(CreatePathTestWebBundle(embedded_test_server()));
 
@@ -1342,9 +1327,6 @@
 IN_PROC_BROWSER_TEST_F(WebBundleNetworkBrowserTest, HistoryNavigations) {
   const std::string wbn_path = "/web_bundle/path_test/in_scope/path_test.wbn";
   RegisterRequestHandler(wbn_path);
-  SetHeaders(
-      "HTTP/1.1 200 OK\n"
-      "Content-Type:application/webbundle\n");
   ASSERT_TRUE(embedded_test_server()->Start());
   SetContents(CreatePathTestWebBundle(embedded_test_server()));
 
@@ -1395,7 +1377,8 @@
   SetHeaders(
       "HTTP/1.1 200 OK\n"
       "Cache-Control:no-store\n"
-      "Content-Type:application/webbundle\n");
+      "Content-Type:application/webbundle\n"
+      "X-Content-Type-Options: nosniff\n");
   SetContents(CreateSimpleWebBundle(primary_url));
   NavigateToBundleAndWaitForReady(wbn_url, primary_url);
   NavigateToURLAndWaitForTitle(
@@ -1405,11 +1388,42 @@
   SetHeaders(
       "HTTP/1.1 200 OK\n"
       "Cache-Control:no-store\n"
-      "Content-Type:application/foo_bar\n");
+      "Content-Type:application/foo_bar\n"
+      "X-Content-Type-Options: nosniff\n");
   HistoryBackAndWaitUntilConsoleError("Unexpected content type.");
 }
 
 IN_PROC_BROWSER_TEST_F(WebBundleNetworkBrowserTest,
+                       HistoryNavigationError_MissingNosniff) {
+  const std::string wbn_path = "/web_bundle/test.wbn";
+  const std::string primary_url_path = "/web_bundle/test.html";
+  RegisterRequestHandler(wbn_path);
+  ASSERT_TRUE(embedded_test_server()->Start());
+
+  const GURL wbn_url = embedded_test_server()->GetURL(wbn_path);
+  const GURL primary_url = embedded_test_server()->GetURL(primary_url_path);
+
+  SetHeaders(
+      "HTTP/1.1 200 OK\n"
+      "Cache-Control:no-store\n"
+      "Content-Type:application/webbundle\n"
+      "X-Content-Type-Options: nosniff\n");
+  SetContents(CreateSimpleWebBundle(primary_url));
+  NavigateToBundleAndWaitForReady(wbn_url, primary_url);
+  NavigateToURLAndWaitForTitle(
+      embedded_test_server()->GetURL("/web_bundle/empty_page.html"),
+      "Empty Page");
+
+  SetHeaders(
+      "HTTP/1.1 200 OK\n"
+      "Cache-Control:no-store\n"
+      "Content-Type:application/webbundle\n");
+  HistoryBackAndWaitUntilConsoleError(
+      "Web Bundle response must have \"X-Content-Type-Options: nosniff\" "
+      "header.");
+}
+
+IN_PROC_BROWSER_TEST_F(WebBundleNetworkBrowserTest,
                        HistoryNavigationError_UnexpectedRedirect) {
   const std::string wbn_path = "/web_bundle/test.wbn";
   const std::string primary_url_path = "/web_bundle/test.html";
@@ -1422,7 +1436,8 @@
   SetHeaders(
       "HTTP/1.1 200 OK\n"
       "Cache-Control:no-store\n"
-      "Content-Type:application/webbundle\n");
+      "Content-Type:application/webbundle\n"
+      "X-Content-Type-Options: nosniff\n");
   SetContents(CreateSimpleWebBundle(primary_url));
   NavigateToBundleAndWaitForReady(wbn_url, primary_url);
   NavigateToURLAndWaitForTitle(
@@ -1431,7 +1446,8 @@
 
   SetHeaders(
       "HTTP/1.1 302 OK\n"
-      "Location:/web_bundle/empty_page.html\n");
+      "Location:/web_bundle/empty_page.html\n"
+      "X-Content-Type-Options: nosniff\n");
   SetContents("");
   HistoryBackAndWaitUntilConsoleError("Unexpected redirect.");
 }
@@ -1446,10 +1462,7 @@
   const GURL wbn_url = embedded_test_server()->GetURL(wbn_path);
   const GURL primary_url = embedded_test_server()->GetURL(primary_url_path);
 
-  SetHeaders(
-      "HTTP/1.1 200 OK\n"
-      "Cache-Control:no-store\n"
-      "Content-Type:application/webbundle\n");
+  AddHeaders("Cache-Control:no-store\n");
   SetContents(CreateSimpleWebBundle(primary_url));
   NavigateToBundleAndWaitForReady(wbn_url, primary_url);
   NavigateToURLAndWaitForTitle(
@@ -1472,10 +1485,7 @@
   const GURL wbn_url = embedded_test_server()->GetURL(wbn_path);
   const GURL primary_url = embedded_test_server()->GetURL(primary_url_path);
 
-  SetHeaders(
-      "HTTP/1.1 200 OK\n"
-      "Cache-Control:no-store\n"
-      "Content-Type:application/webbundle\n");
+  AddHeaders("Cache-Control:no-store\n");
   SetContents(CreateSimpleWebBundle(primary_url));
   NavigateToBundleAndWaitForReady(wbn_url, primary_url);
   NavigateToURLAndWaitForTitle(
diff --git a/content/browser/web_package/web_bundle_handle.cc b/content/browser/web_package/web_bundle_handle.cc
index dea7f47..4fccfa4 100644
--- a/content/browser/web_package/web_bundle_handle.cc
+++ b/content/browser/web_package/web_bundle_handle.cc
@@ -16,6 +16,7 @@
 #include "base/task/post_task.h"
 #include "content/browser/loader/navigation_loader_interceptor.h"
 #include "content/browser/loader/single_request_url_loader_factory.h"
+#include "content/browser/web_package/signed_exchange_utils.h"
 #include "content/browser/web_package/web_bundle_handle_tracker.h"
 #include "content/browser/web_package/web_bundle_navigation_info.h"
 #include "content/browser/web_package/web_bundle_reader.h"
@@ -46,6 +47,9 @@
     const GURL& target_inner_url,
     std::unique_ptr<WebBundleURLLoaderFactory> url_loader_factory)>;
 
+constexpr char kNoSniffErrorMessage[] =
+    "Web Bundle response must have \"X-Content-Type-Options: nosniff\" header.";
+
 const net::NetworkTrafficAnnotationTag kTrafficAnnotation =
     net::DefineNetworkTrafficAnnotation("web_bundle_start_url_loader",
                                         R"(
@@ -463,6 +467,12 @@
     }
     *client_receiver = forwarding_client_.BindNewPipeAndPassReceiver();
 
+    if (!signed_exchange_utils::HasNoSniffHeader(**response_head)) {
+      CompleteWithInvalidWebBundleError(std::move(forwarding_client_),
+                                        frame_tree_node_id_,
+                                        kNoSniffErrorMessage);
+      return true;
+    }
     auto source = WebBundleSource::MaybeCreateFromNetworkUrl(request.url);
     if (!source) {
       CompleteWithInvalidWebBundleError(
@@ -1041,6 +1051,12 @@
                                         "Unexpected content type.");
       return true;
     }
+    if (!signed_exchange_utils::HasNoSniffHeader(**response_head)) {
+      CompleteWithInvalidWebBundleError(std::move(forwarding_client_),
+                                        frame_tree_node_id_,
+                                        kNoSniffErrorMessage);
+      return true;
+    }
     uint64_t length_hint =
         (*response_head)->content_length > 0
             ? static_cast<uint64_t>((*response_head)->content_length)
diff --git a/content/browser/worker_host/mock_shared_worker.cc b/content/browser/worker_host/mock_shared_worker.cc
index 47d0348..6e8cabba 100644
--- a/content/browser/worker_host/mock_shared_worker.cc
+++ b/content/browser/worker_host/mock_shared_worker.cc
@@ -81,7 +81,7 @@
     return false;
   if (!CheckEquality(expected_url, create_params->info->url))
     return false;
-  if (!CheckEquality(expected_name, create_params->info->name))
+  if (!CheckEquality(expected_name, create_params->info->options->name))
     return false;
   if (!CheckEquality(expected_content_security_policy_type,
                      create_params->info->content_security_policy_type))
diff --git a/content/browser/worker_host/shared_worker_host.cc b/content/browser/worker_host/shared_worker_host.cc
index 21f040f..52ea913 100644
--- a/content/browser/worker_host/shared_worker_host.cc
+++ b/content/browser/worker_host/shared_worker_host.cc
@@ -143,8 +143,12 @@
 
   started_ = true;
 
+  // TODO(https://crbug.com/824646): options->type and options->credentials are
+  // temporarily using default values, but should be set by instance_.
+  auto options = blink::mojom::WorkerOptions::New();
+  options->name = instance_.name();
   blink::mojom::SharedWorkerInfoPtr info(blink::mojom::SharedWorkerInfo::New(
-      instance_.url(), instance_.name(), instance_.content_security_policy(),
+      instance_.url(), std::move(options), instance_.content_security_policy(),
       instance_.content_security_policy_type(),
       instance_.creation_address_space()));
 
diff --git a/content/browser/worker_host/shared_worker_service_impl.cc b/content/browser/worker_host/shared_worker_service_impl.cc
index 421df8c..cfcc183 100644
--- a/content/browser/worker_host/shared_worker_service_impl.cc
+++ b/content/browser/worker_host/shared_worker_service_impl.cc
@@ -133,7 +133,8 @@
   if (!GetContentClient()->browser()->AllowSharedWorker(
           info->url,
           render_frame_host->ComputeSiteForCookies().RepresentativeUrl(),
-          main_frame->GetLastCommittedOrigin(), info->name, constructor_origin,
+          main_frame->GetLastCommittedOrigin(), info->options->name,
+          constructor_origin,
           WebContentsImpl::FromRenderFrameHostID(client_render_frame_host_id)
               ->GetBrowserContext(),
           client_render_frame_host_id.child_id,
@@ -142,8 +143,8 @@
     return;
   }
 
-  SharedWorkerHost* host =
-      FindMatchingSharedWorkerHost(info->url, info->name, constructor_origin);
+  SharedWorkerHost* host = FindMatchingSharedWorkerHost(
+      info->url, info->options->name, constructor_origin);
   if (host) {
     // Non-secure contexts cannot connect to secure workers, and secure contexts
     // cannot connect to non-secure workers:
@@ -173,7 +174,7 @@
       /*can_be_default=*/true, &storage_domain, &partition_name, &in_memory);
 
   SharedWorkerInstance instance(
-      next_shared_worker_instance_id_++, info->url, info->name,
+      next_shared_worker_instance_id_++, info->url, info->options->name,
       constructor_origin, info->content_security_policy,
       info->content_security_policy_type, info->creation_address_space,
       creation_context_type);
diff --git a/content/browser/worker_host/shared_worker_service_impl_unittest.cc b/content/browser/worker_host/shared_worker_service_impl_unittest.cc
index 7354ff7..2463c3a7 100644
--- a/content/browser/worker_host/shared_worker_service_impl_unittest.cc
+++ b/content/browser/worker_host/shared_worker_service_impl_unittest.cc
@@ -49,8 +49,10 @@
     const std::string& name,
     MockSharedWorkerClient* client,
     MessagePortChannel* local_port) {
+  auto options = blink::mojom::WorkerOptions::New();
+  options->name = name;
   blink::mojom::SharedWorkerInfoPtr info(blink::mojom::SharedWorkerInfo::New(
-      url, name, std::string(),
+      url, std::move(options), std::string(),
       network::mojom::ContentSecurityPolicyType::kReport,
       network::mojom::IPAddressSpace::kPublic));
 
diff --git a/content/common/fetch/BUILD.gn b/content/common/fetch/BUILD.gn
index 377ae28..14781a75 100644
--- a/content/common/fetch/BUILD.gn
+++ b/content/common/fetch/BUILD.gn
@@ -5,7 +5,5 @@
 import("//third_party/protobuf/proto_library.gni")
 
 proto_library("fetch_api_request_proto") {
-  sources = [
-    "fetch_api_request.proto",
-  ]
+  sources = [ "fetch_api_request.proto" ]
 }
diff --git a/content/public/android/java/src/org/chromium/content/browser/accessibility/LollipopWebContentsAccessibility.java b/content/public/android/java/src/org/chromium/content/browser/accessibility/LollipopWebContentsAccessibility.java
index 264036e..9643921 100644
--- a/content/public/android/java/src/org/chromium/content/browser/accessibility/LollipopWebContentsAccessibility.java
+++ b/content/public/android/java/src/org/chromium/content/browser/accessibility/LollipopWebContentsAccessibility.java
@@ -171,13 +171,22 @@
                 spannable = new SpannableString(charSequence);
             }
 
+            int spannableLen = spannable.length();
             for (int i = 0; i < suggestionStarts.length; i++) {
+                int start = suggestionStarts[i];
+                int end = suggestionEnds[i];
+                // Ignore any spans outside the range of the spannable string.
+                if (start < 0 || start > spannableLen || end < 0 || end > spannableLen
+                        || start > end) {
+                    continue;
+                }
+
                 String[] suggestionArray = new String[1];
                 suggestionArray[0] = suggestions[i];
                 int flags = SuggestionSpan.FLAG_MISSPELLED;
                 SuggestionSpan suggestionSpan =
                         new SuggestionSpan(mContext, suggestionArray, flags);
-                spannable.setSpan(suggestionSpan, suggestionStarts[i], suggestionEnds[i], 0);
+                spannable.setSpan(suggestionSpan, start, end, 0);
             }
             charSequence = spannable;
         }
diff --git a/content/renderer/worker/embedded_shared_worker_stub.cc b/content/renderer/worker/embedded_shared_worker_stub.cc
index d4e4ec5..f04e6d1 100644
--- a/content/renderer/worker/embedded_shared_worker_stub.cc
+++ b/content/renderer/worker/embedded_shared_worker_stub.cc
@@ -99,7 +99,7 @@
 
   impl_ = blink::WebSharedWorker::Create(this);
   impl_->StartWorkerContext(
-      url_, blink::WebString::FromUTF8(info->name),
+      url_, blink::WebString::FromUTF8(info->options->name),
       blink::WebString::FromUTF8(user_agent),
       blink::WebString::FromUTF8(info->content_security_policy),
       info->content_security_policy_type, info->creation_address_space,
diff --git a/content/shell/BUILD.gn b/content/shell/BUILD.gn
index de37ea4..73f395c 100644
--- a/content/shell/BUILD.gn
+++ b/content/shell/BUILD.gn
@@ -41,12 +41,8 @@
 
 source_set("android_shell_descriptors") {
   testonly = true
-  sources = [
-    "android/shell_descriptors.h",
-  ]
-  public_deps = [
-    "//content/public/common:content_descriptors",
-  ]
+  sources = [ "android/shell_descriptors.h" ]
+  public_deps = [ "//content/public/common:content_descriptors" ]
 }
 
 source_set("web_test_messages") {
@@ -504,24 +500,16 @@
 copy("copy_shell_resources") {
   testonly = true
 
-  sources = [
-    "$target_gen_dir/shell_resources.pak",
-  ]
-  outputs = [
-    "$root_out_dir/shell_resources.pak",
-  ]
+  sources = [ "$target_gen_dir/shell_resources.pak" ]
+  outputs = [ "$root_out_dir/shell_resources.pak" ]
 
-  public_deps = [
-    ":content_shell_resources_grit",
-  ]
+  public_deps = [ ":content_shell_resources_grit" ]
 }
 
 group("resources") {
   testonly = true
 
-  public_deps = [
-    ":copy_shell_resources",
-  ]
+  public_deps = [ ":copy_shell_resources" ]
 }
 
 repack("pak") {
@@ -577,9 +565,7 @@
 if (is_android) {
   group("content_shell") {
     testonly = true
-    deps = [
-      "//content/shell/android:content_shell_apk",
-    ]
+    deps = [ "//content/shell/android:content_shell_apk" ]
   }
 } else if (is_mac) {
   tweak_info_plist("content_shell_plist") {
@@ -594,26 +580,20 @@
   mac_app_bundle("content_shell") {
     testonly = true
     output_name = content_shell_product_name
-    sources = [
-      "app/shell_main_mac.cc",
-    ]
+    sources = [ "app/shell_main_mac.cc" ]
     defines = [ "SHELL_PRODUCT_NAME=\"$content_shell_product_name\"" ]
     deps = [
       ":content_shell_framework_bundle_data",
       ":content_shell_resources_bundle_data",
     ]
     info_plist_target = ":content_shell_plist"
-    data_deps = [
-      ":content_shell_lib",
-    ]
+    data_deps = [ ":content_shell_lib" ]
   }
 } else {
   executable("content_shell") {
     testonly = true
 
-    sources = [
-      "app/shell_main.cc",
-    ]
+    sources = [ "app/shell_main.cc" ]
 
     if (is_win) {
       sources += [ "app/shell.rc" ]
@@ -677,19 +657,13 @@
 if (is_mac) {
   bundle_data("content_shell_framework_resources") {
     testonly = true
-    sources = [
-      "$root_out_dir/content_shell.pak",
-    ]
+    sources = [ "$root_out_dir/content_shell.pak" ]
 
-    public_deps = [
-      ":pak",
-    ]
+    public_deps = [ ":pak" ]
 
     if (icu_use_data_file) {
       sources += [ "$root_out_dir/icudtl.dat" ]
-      deps = [
-        "//third_party/icu:icudata",
-      ]
+      deps = [ "//third_party/icu:icudata" ]
     }
 
     if (v8_use_external_startup_data) {
@@ -702,9 +676,7 @@
       }
     }
 
-    outputs = [
-      "{{bundle_resources_dir}}/{{source_file_part}}",
-    ]
+    outputs = [ "{{bundle_resources_dir}}/{{source_file_part}}" ]
   }
 
   if (enable_plugins) {
@@ -714,9 +686,7 @@
         "$root_out_dir/blink_test_plugin.plugin",
       ]
 
-      outputs = [
-        "{{bundle_contents_dir}}/{{source_file_part}}",
-      ]
+      outputs = [ "{{bundle_contents_dir}}/{{source_file_part}}" ]
 
       public_deps = [
         "//ppapi:blink_deprecated_test_plugin",
@@ -730,15 +700,9 @@
 
   bundle_data("content_shell_framework_helpers") {
     testonly = true
-    sources = [
-      "$root_out_dir/chrome_crashpad_handler",
-    ]
-    outputs = [
-      "{{bundle_contents_dir}}/Helpers/{{source_file_part}}",
-    ]
-    public_deps = [
-      "//components/crash/content/app:chrome_crashpad_handler",
-    ]
+    sources = [ "$root_out_dir/chrome_crashpad_handler" ]
+    outputs = [ "{{bundle_contents_dir}}/Helpers/{{source_file_part}}" ]
+    public_deps = [ "//components/crash/content/app:chrome_crashpad_handler" ]
     foreach(helper_params, content_mac_helpers) {
       sources += [
         "$root_out_dir/${content_shell_helper_name}${helper_params[2]}.app",
@@ -779,9 +743,7 @@
       "app/shell_content_main.h",
     ]
 
-    public_deps = [
-      ":content_shell_lib",
-    ]
+    public_deps = [ ":content_shell_lib" ]
     deps = [
       ":content_shell_angle_library",
       ":content_shell_framework_helpers",
@@ -837,9 +799,7 @@
 
       output_name = content_shell_helper_name + invoker.helper_name_suffix
 
-      sources = [
-        "app/shell_main_mac.cc",
-      ]
+      sources = [ "app/shell_main_mac.cc" ]
       defines = [
         "HELPER_EXECUTABLE",
         "SHELL_PRODUCT_NAME=\"$content_shell_product_name\"",
@@ -848,9 +808,7 @@
         "CONTENT_SHELL_HELPER_SUFFIX=${invoker.helper_name_suffix}",
         "CONTENT_SHELL_HELPER_BUNDLE_ID_SUFFIX=${invoker.helper_bundle_id_suffix}",
       ]
-      deps = [
-        "//sandbox/mac:seatbelt",
-      ]
+      deps = [ "//sandbox/mac:seatbelt" ]
       ldflags = [
         # The helper is in Content Shell.app/Contents/Frameworks/
         #     Content Shell Framework.framework/Versions/C/Helpers/
@@ -875,25 +833,15 @@
 
   bundle_data("content_shell_framework_bundle_data") {
     testonly = true
-    sources = [
-      "$root_out_dir/$content_shell_framework_name.framework",
-    ]
-    outputs = [
-      "{{bundle_contents_dir}}/Frameworks/{{source_file_part}}",
-    ]
-    public_deps = [
-      ":content_shell_framework",
-    ]
+    sources = [ "$root_out_dir/$content_shell_framework_name.framework" ]
+    outputs = [ "{{bundle_contents_dir}}/Frameworks/{{source_file_part}}" ]
+    public_deps = [ ":content_shell_framework" ]
   }
 
   bundle_data("content_shell_resources_bundle_data") {
     testonly = true
-    sources = [
-      "app/app.icns",
-    ]
-    outputs = [
-      "{{bundle_resources_dir}}/{{source_file_part}}",
-    ]
+    sources = [ "app/app.icns" ]
+    outputs = [ "{{bundle_resources_dir}}/{{source_file_part}}" ]
   }
 
   if (use_egl) {
@@ -903,12 +851,8 @@
         "$root_out_dir/egl_intermediates/libEGL.dylib",
         "$root_out_dir/egl_intermediates/libGLESv2.dylib",
       ]
-      outputs = [
-        "{{bundle_contents_dir}}/Libraries/{{source_file_part}}",
-      ]
-      public_deps = [
-        "//ui/gl:angle_library_copy",
-      ]
+      outputs = [ "{{bundle_contents_dir}}/Libraries/{{source_file_part}}" ]
+      public_deps = [ "//ui/gl:angle_library_copy" ]
     }
 
     # Add the SwiftShader .dylibs in the Libraries directory of the Framework.
@@ -917,28 +861,20 @@
         "$root_out_dir/egl_intermediates/libswiftshader_libEGL.dylib",
         "$root_out_dir/egl_intermediates/libswiftshader_libGLESv2.dylib",
       ]
-      outputs = [
-        "{{bundle_contents_dir}}/Libraries/{{source_file_part}}",
-      ]
-      public_deps = [
-        "//ui/gl:swiftshader_library_copy",
-      ]
+      outputs = [ "{{bundle_contents_dir}}/Libraries/{{source_file_part}}" ]
+      public_deps = [ "//ui/gl:swiftshader_library_copy" ]
     }
   }
 
   group("content_shell_angle_library") {
     if (use_egl) {
-      deps = [
-        ":content_shell_angle_binaries",
-      ]
+      deps = [ ":content_shell_angle_binaries" ]
     }
   }
 
   group("content_shell_swiftshader_library") {
     if (use_egl) {
-      deps = [
-        ":content_shell_swiftshader_binaries",
-      ]
+      deps = [ ":content_shell_swiftshader_binaries" ]
     }
   }
 }
diff --git a/content/test/gpu/gpu_tests/test_expectations/webgl2_conformance_expectations.txt b/content/test/gpu/gpu_tests/test_expectations/webgl2_conformance_expectations.txt
index 11303956..fc2debb5 100644
--- a/content/test/gpu/gpu_tests/test_expectations/webgl2_conformance_expectations.txt
+++ b/content/test/gpu/gpu_tests/test_expectations/webgl2_conformance_expectations.txt
@@ -59,9 +59,6 @@
 
 crbug.com/953120 conformance/programs/program-handling.html [ Failure ]
 
-crbug.com/1025652 [ intel passthrough d3d11 ] conformance/uniforms/uniform-samplers-test.html [ Failure ]
-crbug.com/1025652 [ intel passthrough opengl ] conformance/uniforms/uniform-samplers-test.html [ Failure ]
-
 crbug.com/949249 [ win passthrough opengl nvidia ] conformance2/extensions/ovr_multiview2.html [ Failure ]
 crbug.com/949249 [ win passthrough no-use-gl ] conformance2/extensions/ovr_multiview2.html [ Failure ]
 crbug.com/949249 [ linux passthrough opengl ] conformance2/extensions/ovr_multiview2.html [ Failure ]
@@ -110,18 +107,9 @@
 ####################
 
 # Intel flaky issues
-crbug.com/945942 [ win passthrough intel ] conformance/uniforms/no-over-optimization-on-uniform-array-00.html [ RetryOnFailure ]
-crbug.com/620379 [ d3d11 win intel ] deqp/functional/gles3/lifetime.html [ RetryOnFailure ]
 crbug.com/912579 [ opengl win passthrough intel ] conformance2/rendering/out-of-bounds-index-buffers-after-copying.html [ RetryOnFailure ]
 crbug.com/1033662 [ opengl win passthrough intel ] deqp/functional/gles3/sync.html [ RetryOnFailure ]
 
-# It's unfortunate that these suppressions need to be so broad, but it
-# looks like the D3D11 device can be lost spontaneously on this
-# configuration while running basically any test.
-crbug.com/628395 [ d3d11 win intel ] conformance/* [ RetryOnFailure ]
-crbug.com/628395 [ d3d11 win intel ] conformance2/* [ RetryOnFailure ]
-crbug.com/628395 [ d3d11 win intel ] deqp/* [ RetryOnFailure ]
-
 # Intel failed issues
 crbug.com/795030 [ opengl win passthrough intel ] deqp/functional/gles3/shadercommonfunction.html [ Failure ]
 crbug.com/angleproject/2994 [ opengl win passthrough intel ] conformance2/textures/misc/copy-texture-image-same-texture.html [ Failure ]
@@ -603,7 +591,6 @@
 
 # Intel failed issues
 crbug.com/950552 [ linux intel no-passthrough ] conformance2/textures/misc/tex-3d-size-limit.html [ Failure ]
-crbug.com/1014429 [ linux intel opengl passthrough ] deqp/functional/gles3/shadercommonfunction.html [ Failure ]
 
 # Intel driver issues
 crbug.com/950552 [ linux intel mesa_lt_19.1.2 ] conformance2/textures/misc/tex-base-level-bug.html [ Failure ]
diff --git a/content/test/gpu/gpu_tests/test_expectations/webgl_conformance_expectations.txt b/content/test/gpu/gpu_tests/test_expectations/webgl_conformance_expectations.txt
index 2e57e21c..1d2270fc 100644
--- a/content/test/gpu/gpu_tests/test_expectations/webgl_conformance_expectations.txt
+++ b/content/test/gpu/gpu_tests/test_expectations/webgl_conformance_expectations.txt
@@ -8,7 +8,9 @@
 # tags: [ d3d11 d3d9 no-angle opengl opengles vulkan ]
 # tags: [ no-passthrough passthrough ]
 # tags: [ webgl-version-1 ]
-# tags: [ intel_lt_25.20.100.6444 intel_lt_26.20.100.7000 intel_lt_26.20.100.7323 mesa_eq_18.0.5 ]
+# tags: [ intel_lt_25.20.100.6444 intel_lt_25.20.100.6577
+#         intel_lt_26.20.100.7000 intel_lt_26.20.100.7323
+#         mesa_eq_18.0.5 ]
 # results: [ Failure RetryOnFailure Skip ]
 
 
@@ -118,6 +120,10 @@
 crbug.com/751849 [ win7 debug nvidia d3d11 passthrough ] conformance/extensions/oes-texture-half-float-with-video.html [ RetryOnFailure ]
 # crbug.com/737016 [ win nvidia d3d11 passthrough ] conformance/programs/program-test.html [ RetryOnFailure ]
 
+# Vulkan / Passthrough command decoder
+crbug.com/angleproject/2722 [ vulkan passthrough ] conformance/textures/misc/copy-tex-image-and-sub-image-2d.html [ Failure ]
+crbug.com/angleproject/2914 [ vulkan passthrough ] conformance/textures/misc/texture-copying-feedback-loops.html [ Failure ]
+crbug.com/angleproject/2722 [ vulkan passthrough ] conformance/textures/misc/texture-mips.html [ Failure ]
 
 ####################
 # Win failures     #
@@ -126,11 +132,10 @@
 # Intel flaky issues
 crbug.com/825338 [ win intel d3d11 ] conformance/extensions/oes-texture-float-with-video.html [ RetryOnFailure ]
 crbug.com/929009 [ win intel ] conformance/glsl/misc/shader-with-non-reserved-words.html [ RetryOnFailure ]
-crbug.com/854100 [ win10 intel opengl ] conformance/glsl/variables/gl-pointcoord.html [ RetryOnFailure ]
-crbug.com/602688 [ win intel d3d11 passthrough ] conformance/renderbuffers/framebuffer-state-restoration.html [ RetryOnFailure ]
 crbug.com/1023745 [ win intel d3d9 passthrough ] conformance2/textures/image_bitmap_from_video/tex-2d-r16f-red-half_float.html [ RetryOnFailure ]
 
 # Intel driver issues
+crbug.com/854100 [ win intel opengl passthrough intel_lt_25.20.100.6577 ] conformance/glsl/variables/gl-pointcoord.html [ Failure ]
 crbug.com/angleproject/2909 [ win intel vulkan passthrough intel_lt_26.20.100.7000 ] conformance/ogles/GL/faceforward/faceforward_001_to_006.html [ Failure ]
 crbug.com/angleproject/2722 [ win intel vulkan passthrough intel_lt_26.20.100.7323 ] conformance/rendering/clipping-wide-points.html [ Failure ]
 
@@ -238,9 +243,6 @@
 
 # Vulkan / Win / Passthrough command decoder
 crbug.com/angleproject/3469 [ win vulkan passthrough nvidia ] conformance/extensions/webgl-draw-buffers.html [ Failure ]
-crbug.com/angleproject/2722 [ win vulkan passthrough ] conformance/textures/misc/copy-tex-image-and-sub-image-2d.html [ Failure ]
-crbug.com/angleproject/2914 [ win vulkan passthrough ] conformance/textures/misc/texture-copying-feedback-loops.html [ Failure ]
-crbug.com/angleproject/2722 [ win vulkan passthrough ] conformance/textures/misc/texture-mips.html [ Failure ]
 
 # Note: the following test crashes so it's skipped.  http://anglebug.com/3352
 crbug.com/angleproject/2921 [ win vulkan passthrough ] conformance/uniforms/out-of-bounds-uniform-array-access.html [ Skip ]
@@ -339,20 +341,16 @@
 # Linux failures   #
 ####################
 
-# Intel failed issues
-crbug.com/1021428 [ linux intel vulkan ] conformance/textures/misc/copy-tex-image-and-sub-image-2d.html [ Failure ]
-crbug.com/1021428 [ linux intel vulkan ] conformance/textures/misc/texture-copying-feedback-loops.html [ Failure ]
-crbug.com/1021428 [ linux intel vulkan ] conformance/textures/misc/texture-mips.html [ Failure ]
-crbug.com/1021428 [ linux intel vulkan ] conformance/rendering/clipping-wide-points.html [ Failure ]
-crbug.com/1021428 [ linux intel vulkan ] conformance/extensions/webgl-draw-buffers.html [ Failure ]
-crbug.com/1021428 [ linux intel vulkan ] WebglExtension_EXT_shader_texture_lod [ Failure ]
-crbug.com/1021428 [ linux intel vulkan ] WebglExtension_EXT_float_blend [ Failure ]
-crbug.com/1021428 [ linux intel vulkan ] WebglExtension_WEBGL_depth_texture [ Failure ]
-
 # The following two tests only fail on Linux/Intel with Mesa 18.0.5,
 # not on Mesa 17.1.4 with the same Intel HD 630 GPU.
 crbug.com/928530 [ linux intel mesa_eq_18.0.5 no-passthrough ] conformance/programs/program-test.html [ Failure ]
 
+# Linux / Vulkan / Passthrough command decoder
+crbug.com/angleproject/3469 [ linux vulkan passthrough intel ] conformance/extensions/webgl-draw-buffers.html [ Failure ]
+crbug.com/1021428 [ linux vulkan passthrough intel ] conformance/rendering/scissor-rect-repeated-rendering.html [ Failure ]
+crbug.com/1021428 [ linux vulkan passthrough intel ] WebglExtension_EXT_float_blend [ Failure ]
+crbug.com/1021428 [ linux vulkan passthrough intel ] WebglExtension_WEBGL_depth_texture [ Failure ]
+
 # NVIDIA
 crbug.com/524144 [ linux nvidia no-passthrough ] conformance/extensions/oes-element-index-uint.html [ RetryOnFailure ]
 crbug.com/596622 [ linux nvidia ] conformance/textures/image/tex-2d-rgb-rgb-unsigned_byte.html [ RetryOnFailure ]
diff --git a/content/test/gpu/gpu_tests/webgl_conformance_integration_test.py b/content/test/gpu/gpu_tests/webgl_conformance_integration_test.py
index e1bfdca6..f06e44d 100644
--- a/content/test/gpu/gpu_tests/webgl_conformance_integration_test.py
+++ b/content/test/gpu/gpu_tests/webgl_conformance_integration_test.py
@@ -176,6 +176,7 @@
         'EXT_disjoint_timer_query_webgl2',
         'EXT_float_blend',
         'EXT_texture_filter_anisotropic',
+        'EXT_texture_norm16',
         'KHR_parallel_shader_compile',
         'OES_texture_float_linear',
         'OVR_multiview2',
diff --git a/device/vr/public/mojom/vr_service.mojom b/device/vr/public/mojom/vr_service.mojom
index f7a9929..2ba0869e 100644
--- a/device/vr/public/mojom/vr_service.mojom
+++ b/device/vr/public/mojom/vr_service.mojom
@@ -182,6 +182,15 @@
   // null. The information is a snapshot of the controller state that was taken
   // at the time corresponding to the timestamp field's value.
   Gamepad? gamepad;
+
+  // If DOM Overlay is enabled and active, and if this input source's pointer
+  // ray intersects the DOM overlay element, this contains the 2D screen space
+  // coordinates of that intersection point within the DOM overlay content
+  // element, with origin at the top left. Null if there is no intersection
+  // point, or if DOM Overlay is not active or not supported. (Currently, only
+  // the ARCore device's immersive-ar mode supports it when requested via
+  // XRSessionFeature.DOM_OVERLAY aka "dom-overlay".)
+  gfx.mojom.PointF? overlay_pointer_position;
 };
 
 //
diff --git a/extensions/browser/computed_hashes.cc b/extensions/browser/computed_hashes.cc
index a26f5c7..61ac2d7 100644
--- a/extensions/browser/computed_hashes.cc
+++ b/extensions/browser/computed_hashes.cc
@@ -170,9 +170,13 @@
                                int* block_size,
                                std::vector<std::string>* hashes) const {
   base::FilePath path = relative_path.NormalizePathSeparatorsTo('/');
+  // TODO(lazyboy): Align treatment of |data_| with that of
+  // VerifiedContents::root_hashes_, so that we don't have to perform the linear
+  // lookup below.
   auto find_data = [&](const base::FilePath& normalized_path) {
     auto i = data_.find(normalized_path);
-    if (i == data_.end()) {
+    if (i == data_.end() &&
+        !content_verifier_utils::IsFileAccessCaseSensitive()) {
       // If we didn't find the entry using exact match, it's possible the
       // developer is using a path with some letters in the incorrect case,
       // which happens to work on windows/osx. So try doing a linear scan to
@@ -192,8 +196,8 @@
     return i;
   };
   auto i = find_data(path);
-#if defined(OS_WIN)
-  if (i == data_.end()) {
+  if (i == data_.end() &&
+      content_verifier_utils::IsDotSpaceFilenameSuffixIgnored()) {
     base::FilePath::StringType trimmed_path_value;
     // Also search for path with (.| )+ suffix trimmed as they are ignored in
     // windows. This matches the canonicalization behavior of
@@ -203,7 +207,6 @@
       i = find_data(base::FilePath(trimmed_path_value));
     }
   }
-#endif  // defined(OS_WIN)
   if (i == data_.end())
     return false;
 
diff --git a/extensions/browser/computed_hashes_unittest.cc b/extensions/browser/computed_hashes_unittest.cc
index 0040997..95bab6f 100644
--- a/extensions/browser/computed_hashes_unittest.cc
+++ b/extensions/browser/computed_hashes_unittest.cc
@@ -9,19 +9,16 @@
 #include "base/strings/stringprintf.h"
 #include "build/build_config.h"
 #include "crypto/sha2.h"
+#include "extensions/browser/content_verifier/content_verifier_utils.h"
 #include "extensions/common/constants.h"
 #include "testing/gtest/include/gtest/gtest.h"
 
 namespace {
 
-// Whether or not dot and space suffixes of filename are ignored in the
-// current OS.
-const bool kDotSpaceSuffixIgnored =
-#if defined(OS_WIN)
-    true;
-#else
-    false;
-#endif  // defined(OS_WIN)
+constexpr bool kIsDotSpaceSuffixIgnored =
+    extensions::content_verifier_utils::IsDotSpaceFilenameSuffixIgnored();
+constexpr bool kIsFileAccessCaseInsensitive =
+    !extensions::content_verifier_utils::IsFileAccessCaseSensitive();
 
 // Helper to return base64 encode result by value.
 std::string Base64Encode(const std::string& data) {
@@ -104,10 +101,13 @@
   // Make sure we can lookup hashes for a file using incorrect case
   base::FilePath path1_badcase(FILE_PATH_LITERAL("FoO.txt"));
   std::vector<std::string> read_hashes1_badcase;
-  EXPECT_TRUE(computed_hashes.GetHashes(path1_badcase, &block_size,
-                                        &read_hashes1_badcase));
-  EXPECT_EQ(block_size, 4096);
-  EXPECT_EQ(hashes1, read_hashes1_badcase);
+  EXPECT_EQ(kIsFileAccessCaseInsensitive,
+            computed_hashes.GetHashes(path1_badcase, &block_size,
+                                      &read_hashes1_badcase));
+  if (kIsFileAccessCaseInsensitive) {
+    EXPECT_EQ(4096, block_size);
+    EXPECT_EQ(hashes1, read_hashes1_badcase);
+  }
 
   // Finally make sure that we can retrieve the hashes for the subdir
   // path even when that path contains forward slashes (on windows).
@@ -193,17 +193,17 @@
       // Sanity check: non existent file.
       {"notfound.html", false},
       // Path with "." suffix, along with incorrect case for the same.
-      {"foo.html.", kDotSpaceSuffixIgnored},
-      {"fOo.html.", kDotSpaceSuffixIgnored},
+      {"foo.html.", kIsDotSpaceSuffixIgnored},
+      {"fOo.html.", kIsDotSpaceSuffixIgnored},
       // Path with " " suffix, along with incorrect case for the same.
-      {"foo.html ", kDotSpaceSuffixIgnored},
-      {"fOo.html ", kDotSpaceSuffixIgnored},
+      {"foo.html ", kIsDotSpaceSuffixIgnored},
+      {"fOo.html ", kIsDotSpaceSuffixIgnored},
       // Path with ". " suffix, along with incorrect case for the same.
-      {"foo.html. ", kDotSpaceSuffixIgnored},
-      {"fOo.html. ", kDotSpaceSuffixIgnored},
+      {"foo.html. ", kIsDotSpaceSuffixIgnored},
+      {"fOo.html. ", kIsDotSpaceSuffixIgnored},
       // Path with " ." suffix, along with incorrect case for the same.
-      {"foo.html .", kDotSpaceSuffixIgnored},
-      {"fOo.html .", kDotSpaceSuffixIgnored},
+      {"foo.html .", kIsDotSpaceSuffixIgnored},
+      {"fOo.html .", kIsDotSpaceSuffixIgnored},
   };
 
   for (const auto& test_case : test_cases) {
diff --git a/extensions/browser/content_verifier/content_hash_unittest.cc b/extensions/browser/content_verifier/content_hash_unittest.cc
index 943362a..42fbe22 100644
--- a/extensions/browser/content_verifier/content_hash_unittest.cc
+++ b/extensions/browser/content_verifier/content_hash_unittest.cc
@@ -148,7 +148,7 @@
     ListBuilder files;
     for (const auto& resource : extension_resources_) {
       base::FilePath::StringType path =
-          VerifiedContents::NormalizeResourcePath(resource.relative_path);
+          base::FilePath(resource.relative_path).value();
       std::string tree_hash =
           ContentHash::ComputeTreeHashForContent(resource.contents, block_size);
 
diff --git a/extensions/browser/content_verifier/content_verifier_utils.cc b/extensions/browser/content_verifier/content_verifier_utils.cc
index a9c3797..3e800cbb 100644
--- a/extensions/browser/content_verifier/content_verifier_utils.cc
+++ b/extensions/browser/content_verifier/content_verifier_utils.cc
@@ -4,12 +4,15 @@
 
 #include "extensions/browser/content_verifier/content_verifier_utils.h"
 
+#include "base/strings/string_util.h"
+
 namespace extensions {
 namespace content_verifier_utils {
 
-#if defined(OS_WIN)
 bool TrimDotSpaceSuffix(const base::FilePath::StringType& path,
                         base::FilePath::StringType* out_path) {
+  DCHECK(IsDotSpaceFilenameSuffixIgnored())
+      << "dot-space suffix shouldn't be trimmed in current system";
   base::FilePath::StringType::size_type trim_pos =
       path.find_last_not_of(FILE_PATH_LITERAL(". "));
   if (trim_pos == base::FilePath::StringType::npos)
@@ -18,7 +21,16 @@
   *out_path = path.substr(0, trim_pos + 1);
   return true;
 }
-#endif  // defined(OS_WIN)
+
+base::FilePath::StringType CanonicalizeFilePath(const base::FilePath& path) {
+  base::FilePath::StringType canonicalized_path =
+      path.NormalizePathSeparatorsTo('/').value();
+  if (!IsFileAccessCaseSensitive())
+    canonicalized_path = base::ToLowerASCII(canonicalized_path);
+  if (IsDotSpaceFilenameSuffixIgnored())
+    TrimDotSpaceSuffix(canonicalized_path, &canonicalized_path);
+  return canonicalized_path;
+}
 
 }  // namespace content_verifier_utils
 }  // namespace extensions
diff --git a/extensions/browser/content_verifier/content_verifier_utils.h b/extensions/browser/content_verifier/content_verifier_utils.h
index bcfaebf..c97c1bd 100644
--- a/extensions/browser/content_verifier/content_verifier_utils.h
+++ b/extensions/browser/content_verifier/content_verifier_utils.h
@@ -10,12 +10,36 @@
 namespace extensions {
 namespace content_verifier_utils {
 
-#if defined(OS_WIN)
 // Returns true if |path| ends with (.| )+.
 // |out_path| will contain "." and/or " " suffix removed from |path|.
 bool TrimDotSpaceSuffix(const base::FilePath::StringType& path,
                         base::FilePath::StringType* out_path);
-#endif  // defined(OS_WIN)
+
+// Returns true if this system/OS's file access is case sensitive.
+constexpr bool IsFileAccessCaseSensitive() {
+#if defined(OS_WIN) || defined(OS_MACOSX)
+  return false;
+#else
+  return true;
+#endif
+}
+
+// Returns true if this system/OS ignores (.| )+ suffix in a filepath while
+// accessing the file.
+constexpr bool IsDotSpaceFilenameSuffixIgnored() {
+#if defined(OS_WIN)
+  static_assert(!IsFileAccessCaseSensitive(),
+                "DotSpace suffix should only be ignored in case-insensitive"
+                "systems");
+  return true;
+#else
+  return false;
+#endif
+}
+
+// Returns platform specific canonicalized version of |path| for content
+// verification system.
+base::FilePath::StringType CanonicalizeFilePath(const base::FilePath& path);
 
 }  // namespace content_verifier_utils
 }  // namespace extensions
diff --git a/extensions/browser/verified_contents.cc b/extensions/browser/verified_contents.cc
index 662a6cb..a80acc1 100644
--- a/extensions/browser/verified_contents.cc
+++ b/extensions/browser/verified_contents.cc
@@ -170,25 +170,13 @@
                                  &root_hash)) {
         return nullptr;
       }
-      base::FilePath file_path =
-          base::FilePath::FromUTF8Unsafe(*file_path_string);
-      base::FilePath::StringType lowercase_file_path =
-          base::ToLowerASCII(file_path.value());
-      auto i = verified_contents->root_hashes_.insert(
-          std::make_pair(lowercase_file_path, std::string()));
-      i->second.swap(root_hash);
 
-#if defined(OS_WIN)
-      // Additionally store a canonicalized filename without (.| )+ suffix, so
-      // that any filename with (.| )+ suffix can be matched later, see
-      // HasTreeHashRoot() and TreeHashRootEquals().
-      base::FilePath::StringType trimmed_path;
-      if (content_verifier_utils::TrimDotSpaceSuffix(lowercase_file_path,
-                                                     &trimmed_path)) {
-        verified_contents->root_hashes_.insert(
-            std::make_pair(trimmed_path, i->second));
-      }
-#endif  // defined(OS_WIN)
+      base::FilePath::StringType canonicalized_path =
+          content_verifier_utils::CanonicalizeFilePath(
+              base::FilePath::FromUTF8Unsafe(*file_path_string));
+      auto i = verified_contents->root_hashes_.insert(
+          std::make_pair(canonicalized_path, std::string()));
+      i->second.swap(root_hash);
     }
 
     break;
@@ -199,40 +187,15 @@
 
 bool VerifiedContents::HasTreeHashRoot(
     const base::FilePath& relative_path) const {
-  base::FilePath::StringType path = NormalizeResourcePath(relative_path);
-  if (base::Contains(root_hashes_, path))
-    return true;
-
-#if defined(OS_WIN)
-  base::FilePath::StringType trimmed_path;
-  if (content_verifier_utils::TrimDotSpaceSuffix(path, &trimmed_path))
-    return base::Contains(root_hashes_, trimmed_path);
-#endif  // defined(OS_WIN)
-  return false;
+  return base::Contains(
+      root_hashes_,
+      content_verifier_utils::CanonicalizeFilePath(relative_path));
 }
 
 bool VerifiedContents::TreeHashRootEquals(const base::FilePath& relative_path,
                                           const std::string& expected) const {
-  base::FilePath::StringType normalized_relative_path =
-      NormalizeResourcePath(relative_path);
-  if (TreeHashRootEqualsImpl(normalized_relative_path, expected))
-    return true;
-
-#if defined(OS_WIN)
-  base::FilePath::StringType trimmed_relative_path;
-  if (content_verifier_utils::TrimDotSpaceSuffix(normalized_relative_path,
-                                                 &trimmed_relative_path)) {
-    return TreeHashRootEqualsImpl(trimmed_relative_path, expected);
-  }
-#endif  // defined(OS_WIN)
-  return false;
-}
-
-// static
-base::FilePath::StringType VerifiedContents::NormalizeResourcePath(
-    const base::FilePath& relative_path) {
-  return base::ToLowerASCII(
-      relative_path.NormalizePathSeparatorsTo('/').value());
+  return TreeHashRootEqualsImpl(
+      content_verifier_utils::CanonicalizeFilePath(relative_path), expected);
 }
 
 // We're loosely following the "JSON Web Signature" draft spec for signing
diff --git a/extensions/browser/verified_contents.h b/extensions/browser/verified_contents.h
index a2d5652..d08feeef 100644
--- a/extensions/browser/verified_contents.h
+++ b/extensions/browser/verified_contents.h
@@ -49,9 +49,6 @@
   // signature" mode, this can return false.
   bool valid_signature() { return valid_signature_; }
 
-  static base::FilePath::StringType NormalizeResourcePath(
-      const base::FilePath& relative_path);
-
  private:
   // Note: the public_key must remain valid for the lifetime of this object.
   explicit VerifiedContents(base::span<const uint8_t> public_key);
@@ -85,15 +82,19 @@
   std::string extension_id_;
   base::Version version_;
 
-  // The expected treehash root hashes for each file, lower cased so we can do
+  // The expected treehash root hashes for each file.
+  // For case-sensitive systems (linux/chromeos) the key is exact cased, but for
+  // case-insensitive systems (win/macos) the key is lower cased to support
   // case-insensitive lookups.
   //
   // We use a multi-map here so that we can do fast lookups of paths from
   // requests on case-insensitive systems (windows, mac) where the request path
-  // might not have the exact right capitalization, but not break
-  // case-sensitive systems (linux, chromeos). TODO(asargent) - we should give
-  // developers client-side warnings in each of those cases, and have the
-  // webstore reject the cases they can statically detect. See crbug.com/29941
+  // might not have the exact right capitalization. Note that this doesn't
+  // affect case-sensitive systems (linux, chromeos) as we use the exact cased
+  // keys.
+  // TODO(crbug.com/29941) - we should give developers client-side warnings in
+  // each of those cases, and have the webstore reject the cases they can
+  // statically detect.
   typedef std::multimap<base::FilePath::StringType, std::string> RootHashes;
   RootHashes root_hashes_;
 
diff --git a/extensions/browser/verified_contents_unittest.cc b/extensions/browser/verified_contents_unittest.cc
index 53b733f4..f877bdc 100644
--- a/extensions/browser/verified_contents_unittest.cc
+++ b/extensions/browser/verified_contents_unittest.cc
@@ -13,6 +13,7 @@
 #include "base/path_service.h"
 #include "base/stl_util.h"
 #include "build/build_config.h"
+#include "extensions/browser/content_verifier/content_verifier_utils.h"
 #include "extensions/browser/verified_contents.h"
 #include "extensions/common/extension.h"
 #include "extensions/common/extension_paths.h"
@@ -25,14 +26,10 @@
 const char kContentVerifierDirectory[] = "content_verifier/";
 const char kPublicKeyPem[] = "public_key.pem";
 
-// Whether or not dot and space suffixes of filename are ignored in the
-// current OS.
-const bool kDotSpaceSuffixIgnored =
-#if defined(OS_WIN)
-    true;
-#else
-    false;
-#endif  // defined(OS_WIN)
+constexpr bool kIsFileAccessCaseInsensitive =
+    !content_verifier_utils::IsFileAccessCaseSensitive();
+constexpr bool kIsDotSpaceSuffixIgnored =
+    content_verifier_utils::IsDotSpaceFilenameSuffixIgnored();
 
 std::string DecodeBase64Url(const std::string& encoded) {
   std::string decoded;
@@ -108,51 +105,81 @@
   base::FilePath nonexistent = base::FilePath::FromUTF8Unsafe("nonexistent");
   EXPECT_FALSE(contents.HasTreeHashRoot(nonexistent));
 
+  std::map<std::string, std::string> hashes = {
+      {"lowercase.html", "HpLotLGCmmOdKYvGQmD3OkXMKGs458dbanY4WcfAZI0"},
+      {"ALLCAPS.html", "bl-eV8ENowvtw6P14D4X1EP0mlcMoG-_aOx5o9C1364"},
+      {"MixedCase.Html", "zEAO9FwciigMNy3NtU2XNb-dS5TQMmVNx0T9h7WvXbQ"},
+      {"mIxedcAse.Html", "nKRqUcJg1_QZWAeCb4uFd5ouC0McuGavKp8TFDRqBgg"},
+  };
+
+  // Resource is "lowercase.html".
   EXPECT_TRUE(contents.TreeHashRootEquals(
       base::FilePath::FromUTF8Unsafe("lowercase.html"),
-      DecodeBase64Url("HpLotLGCmmOdKYvGQmD3OkXMKGs458dbanY4WcfAZI0")));
-  EXPECT_TRUE(contents.TreeHashRootEquals(
-      base::FilePath::FromUTF8Unsafe("Lowercase.Html"),
-      DecodeBase64Url("HpLotLGCmmOdKYvGQmD3OkXMKGs458dbanY4WcfAZI0")));
-  EXPECT_TRUE(contents.TreeHashRootEquals(
-      base::FilePath::FromUTF8Unsafe("LOWERCASE.HTML"),
-      DecodeBase64Url("HpLotLGCmmOdKYvGQmD3OkXMKGs458dbanY4WcfAZI0")));
+      DecodeBase64Url(hashes["lowercase.html"])));
+  // Only case-insensitive systems should be able to get hashes with incorrect
+  // case.
+  EXPECT_EQ(kIsFileAccessCaseInsensitive,
+            contents.TreeHashRootEquals(
+                base::FilePath::FromUTF8Unsafe("Lowercase.Html"),
+                DecodeBase64Url(hashes["lowercase.html"])));
+  EXPECT_EQ(kIsFileAccessCaseInsensitive,
+            contents.TreeHashRootEquals(
+                base::FilePath::FromUTF8Unsafe("LOWERCASE.HTML"),
+                DecodeBase64Url(hashes["lowercase.html"])));
 
+  // Resource is "ALLCAPS.HTML"
   EXPECT_TRUE(contents.TreeHashRootEquals(
       base::FilePath::FromUTF8Unsafe("ALLCAPS.HTML"),
-      DecodeBase64Url("bl-eV8ENowvtw6P14D4X1EP0mlcMoG-_aOx5o9C1364")));
-  EXPECT_TRUE(contents.TreeHashRootEquals(
-      base::FilePath::FromUTF8Unsafe("AllCaps.Html"),
-      DecodeBase64Url("bl-eV8ENowvtw6P14D4X1EP0mlcMoG-_aOx5o9C1364")));
-  EXPECT_TRUE(contents.TreeHashRootEquals(
-      base::FilePath::FromUTF8Unsafe("allcaps.html"),
-      DecodeBase64Url("bl-eV8ENowvtw6P14D4X1EP0mlcMoG-_aOx5o9C1364")));
+      DecodeBase64Url(hashes["ALLCAPS.html"])));
+  // Only case-insensitive systems should be able to get hashes with incorrect
+  // case.
+  EXPECT_EQ(kIsFileAccessCaseInsensitive,
+            contents.TreeHashRootEquals(
+                base::FilePath::FromUTF8Unsafe("AllCaps.Html"),
+                DecodeBase64Url(hashes["ALLCAPS.html"])));
+  EXPECT_EQ(kIsFileAccessCaseInsensitive,
+            contents.TreeHashRootEquals(
+                base::FilePath::FromUTF8Unsafe("allcaps.html"),
+                DecodeBase64Url(hashes["ALLCAPS.html"])));
 
+  // Resources are "MixedCase.Html", "mIxedcAse.Html".
   EXPECT_TRUE(contents.TreeHashRootEquals(
       base::FilePath::FromUTF8Unsafe("MixedCase.Html"),
-      DecodeBase64Url("zEAO9FwciigMNy3NtU2XNb-dS5TQMmVNx0T9h7WvXbQ")));
-  EXPECT_TRUE(contents.TreeHashRootEquals(
-      base::FilePath::FromUTF8Unsafe("MIXEDCASE.HTML"),
-      DecodeBase64Url("zEAO9FwciigMNy3NtU2XNb-dS5TQMmVNx0T9h7WvXbQ")));
-  EXPECT_TRUE(contents.TreeHashRootEquals(
-      base::FilePath::FromUTF8Unsafe("mixedcase.html"),
-      DecodeBase64Url("zEAO9FwciigMNy3NtU2XNb-dS5TQMmVNx0T9h7WvXbQ")));
+      DecodeBase64Url(hashes["MixedCase.Html"])));
   EXPECT_TRUE(contents.TreeHashRootEquals(
       base::FilePath::FromUTF8Unsafe("mIxedcAse.Html"),
-      DecodeBase64Url("zEAO9FwciigMNy3NtU2XNb-dS5TQMmVNx0T9h7WvXbQ")));
-
-  EXPECT_TRUE(contents.TreeHashRootEquals(
-      base::FilePath::FromUTF8Unsafe("mIxedcAse.Html"),
-      DecodeBase64Url("nKRqUcJg1_QZWAeCb4uFd5ouC0McuGavKp8TFDRqBgg")));
-  EXPECT_TRUE(contents.TreeHashRootEquals(
-      base::FilePath::FromUTF8Unsafe("MIXEDCASE.HTML"),
-      DecodeBase64Url("nKRqUcJg1_QZWAeCb4uFd5ouC0McuGavKp8TFDRqBgg")));
-  EXPECT_TRUE(contents.TreeHashRootEquals(
-      base::FilePath::FromUTF8Unsafe("mixedcase.html"),
-      DecodeBase64Url("nKRqUcJg1_QZWAeCb4uFd5ouC0McuGavKp8TFDRqBgg")));
-  EXPECT_TRUE(contents.TreeHashRootEquals(
-      base::FilePath::FromUTF8Unsafe("MixedCase.Html"),
-      DecodeBase64Url("nKRqUcJg1_QZWAeCb4uFd5ouC0McuGavKp8TFDRqBgg")));
+      DecodeBase64Url(hashes["mIxedcAse.Html"])));
+  // In case-sensitive systems, swapping hashes within MixedCase.Html and
+  // mIxedcAse.Html always would mismatch hash, but it matches for
+  // case-insensitive systems.
+  // TODO(https:://crbug.com/1040702): Fix if this becomes a problem.
+  EXPECT_EQ(kIsFileAccessCaseInsensitive,
+            contents.TreeHashRootEquals(
+                base::FilePath::FromUTF8Unsafe("mIxedcAse.Html"),
+                DecodeBase64Url(hashes["MixedCase.Html"])));
+  EXPECT_EQ(kIsFileAccessCaseInsensitive,
+            contents.TreeHashRootEquals(
+                base::FilePath::FromUTF8Unsafe("MixedCase.Html"),
+                DecodeBase64Url(hashes["mIxedcAse.Html"])));
+  // Continuing from above, in case-insensitive systems, there is non
+  // deterministic behavior here, e.g. MIXEDCASE.HTML will match both hashes of
+  // MixedCase.Html and mIxedcAse.Html.
+  EXPECT_EQ(kIsFileAccessCaseInsensitive,
+            contents.TreeHashRootEquals(
+                base::FilePath::FromUTF8Unsafe("MIXEDCASE.HTML"),
+                DecodeBase64Url(hashes["MixedCase.Html"])));
+  EXPECT_EQ(kIsFileAccessCaseInsensitive,
+            contents.TreeHashRootEquals(
+                base::FilePath::FromUTF8Unsafe("MIXEDCASE.HTML"),
+                DecodeBase64Url(hashes["mIxedcAse.Html"])));
+  EXPECT_EQ(kIsFileAccessCaseInsensitive,
+            contents.TreeHashRootEquals(
+                base::FilePath::FromUTF8Unsafe("mixedcase.html"),
+                DecodeBase64Url(hashes["MixedCase.Html"])));
+  EXPECT_EQ(kIsFileAccessCaseInsensitive,
+            contents.TreeHashRootEquals(
+                base::FilePath::FromUTF8Unsafe("mixedcase.html"),
+                DecodeBase64Url(hashes["mIxedcAse.Html"])));
 
   // Regression test for https://crbug.com/776609.
   EXPECT_FALSE(contents.TreeHashRootEquals(
@@ -235,17 +262,18 @@
 
     // Verify that the discovery of tree hashes is also correct when the
     // filenames are appended with dot and space characters:
-    //   - they should still succeed on windows (kDotSpaceSuffixIgnored = true).
-    //   - they should fail otherwise (kDotSpaceSuffixIgnored = false).
+    //   - they should still succeed on windows (kIsDotSpaceSuffixIgnored
+    //     = true).
+    //   - they should fail otherwise (kIsDotSpaceSuffixIgnored = false).
     for (const std::string& suffix : kSuffixes) {
       std::string path_with_suffix = std::string(info.filename).append(suffix);
-      EXPECT_EQ(kDotSpaceSuffixIgnored, has_tree_hash_root(path_with_suffix));
+      EXPECT_EQ(kIsDotSpaceSuffixIgnored, has_tree_hash_root(path_with_suffix));
     }
   }
 
   // For background.js, additionally verify that reading the file with and
   // without the suffixes described above matches our expectations, taking
-  // kDotSpaceSuffixIgnored into account.
+  // kIsDotSpaceSuffixIgnored into account.
   const char* kBackgroundJSFilename = "background.js";
   const char* kBackgroundJSContents = "console.log('hello');\n";
   base::FilePath test_dir = GetTestDir("dot_space_suffix");
@@ -264,9 +292,9 @@
     for (const std::string& suffix : kSuffixes) {
       base::FilePath background_js_suffix_path = test_dir.AppendASCII(
           std::string(kBackgroundJSFilename).append(suffix));
-      EXPECT_EQ(kDotSpaceSuffixIgnored,
+      EXPECT_EQ(kIsDotSpaceSuffixIgnored,
                 base::PathExists(background_js_suffix_path));
-      if (kDotSpaceSuffixIgnored) {
+      if (kIsDotSpaceSuffixIgnored) {
         std::string background_js_suffix_contents;
         EXPECT_TRUE(base::ReadFileToString(background_js_suffix_path,
                                            &background_js_suffix_contents));
@@ -300,24 +328,26 @@
         DecodeBase64Url(expected_hash));
   };
 
-  // The original key "doT.html.", and its case variants should succeed.
+  // The original key "doT.html." should always succeed.
   EXPECT_TRUE(has_tree_hash_root("doT.html."));
   EXPECT_TRUE(tree_hash_root_equals(
       "doT.html.", "jEsJEk-0azFYx7G91rSUPuzPBXp95863lG4MDwZcSog"));
-  EXPECT_TRUE(has_tree_hash_root("dot.html."));
-  EXPECT_TRUE(tree_hash_root_equals(
-      "dot.html.", "jEsJEk-0azFYx7G91rSUPuzPBXp95863lG4MDwZcSog"));
+  // Its case variants would only succeed for case-insensitive system.
+  EXPECT_EQ(kIsFileAccessCaseInsensitive, has_tree_hash_root("dot.html."));
+  EXPECT_EQ(kIsFileAccessCaseInsensitive,
+            tree_hash_root_equals(
+                "dot.html.", "jEsJEk-0azFYx7G91rSUPuzPBXp95863lG4MDwZcSog"));
 
-  // Keys with dot stripped succeeds if kDotSpaceSuffixIgnored is true.
+  // Keys with dot stripped succeeds if kIsDotSpaceSuffixIgnored is true.
   {
     const char* kKey = "dot.html";
-    EXPECT_EQ(kDotSpaceSuffixIgnored, has_tree_hash_root(kKey));
-    EXPECT_EQ(kDotSpaceSuffixIgnored,
+    EXPECT_EQ(kIsDotSpaceSuffixIgnored, has_tree_hash_root(kKey));
+    EXPECT_EQ(kIsDotSpaceSuffixIgnored,
               tree_hash_root_equals(
                   kKey, "jEsJEk-0azFYx7G91rSUPuzPBXp95863lG4MDwZcSog"));
   }
 
-  // Also, adding (.| )+ suffix would succeed if kDotSpaceSuffixIgnored is
+  // Also, adding (.| )+ suffix would succeed if kIsDotSpaceSuffixIgnored is
   // true. This is already part of VerifiedContents.DotSpaceSuffixedFiles test.
 }
 
diff --git a/google_apis/drive/auth_service.cc b/google_apis/drive/auth_service.cc
index ab73b92..82e342d7 100644
--- a/google_apis/drive/auth_service.cc
+++ b/google_apis/drive/auth_service.cc
@@ -42,7 +42,7 @@
   AuthRequest(signin::IdentityManager* identity_manager,
               const CoreAccountId& account_id,
               scoped_refptr<network::SharedURLLoaderFactory> url_loader_factory,
-              const AuthStatusCallback& callback,
+              AuthStatusCallback callback,
               const std::vector<std::string>& scopes);
   ~AuthRequest();
 
@@ -61,11 +61,11 @@
     signin::IdentityManager* identity_manager,
     const CoreAccountId& account_id,
     scoped_refptr<network::SharedURLLoaderFactory> url_loader_factory,
-    const AuthStatusCallback& callback,
+    AuthStatusCallback callback,
     const std::vector<std::string>& scopes)
-    : callback_(callback) {
+    : callback_(std::move(callback)) {
   DCHECK(identity_manager);
-  DCHECK(!callback_.is_null());
+  DCHECK(callback_);
 
   access_token_fetcher_ = identity_manager->CreateAccessTokenFetcherForAccount(
       account_id, "auth_service", url_loader_factory,
@@ -84,7 +84,7 @@
 
   if (error.state() == GoogleServiceAuthError::NONE) {
     RecordAuthResultHistogram(kSuccessRatioHistogramSuccess);
-    callback_.Run(HTTP_SUCCESS, token_info.token);
+    std::move(callback_).Run(HTTP_SUCCESS, token_info.token);
   } else {
     LOG(WARNING) << "AuthRequest: token request using refresh token failed: "
                  << error.ToString();
@@ -94,14 +94,14 @@
     // so that the file manager works while off-line.
     if (error.state() == GoogleServiceAuthError::CONNECTION_FAILED) {
       RecordAuthResultHistogram(kSuccessRatioHistogramNoConnection);
-      callback_.Run(DRIVE_NO_CONNECTION, std::string());
+      std::move(callback_).Run(DRIVE_NO_CONNECTION, std::string());
     } else if (error.state() == GoogleServiceAuthError::SERVICE_UNAVAILABLE) {
       RecordAuthResultHistogram(kSuccessRatioHistogramTemporaryFailure);
-      callback_.Run(HTTP_FORBIDDEN, std::string());
+      std::move(callback_).Run(HTTP_FORBIDDEN, std::string());
     } else {
       // Permanent auth error.
       RecordAuthResultHistogram(kSuccessRatioHistogramFailure);
-      callback_.Run(HTTP_UNAUTHORIZED, std::string());
+      std::move(callback_).Run(HTTP_UNAUTHORIZED, std::string());
     }
   }
 
@@ -130,22 +130,25 @@
   identity_manager_->RemoveObserver(this);
 }
 
-void AuthService::StartAuthentication(const AuthStatusCallback& callback) {
+void AuthService::StartAuthentication(AuthStatusCallback callback) {
   DCHECK(thread_checker_.CalledOnValidThread());
 
   if (HasAccessToken()) {
     // We already have access token. Give it back to the caller asynchronously.
     base::ThreadTaskRunnerHandle::Get()->PostTask(
-        FROM_HERE, base::BindOnce(callback, HTTP_SUCCESS, access_token_));
+        FROM_HERE,
+        base::BindOnce(std::move(callback), HTTP_SUCCESS, access_token_));
   } else if (HasRefreshToken()) {
     // We have refresh token, let's get an access token.
-    new AuthRequest(identity_manager_, account_id_, url_loader_factory_,
-                    base::Bind(&AuthService::OnAuthCompleted,
-                               weak_ptr_factory_.GetWeakPtr(), callback),
-                    scopes_);
+    new AuthRequest(
+        identity_manager_, account_id_, url_loader_factory_,
+        base::BindOnce(&AuthService::OnAuthCompleted,
+                       weak_ptr_factory_.GetWeakPtr(), std::move(callback)),
+        scopes_);
   } else {
     base::ThreadTaskRunnerHandle::Get()->PostTask(
-        FROM_HERE, base::BindOnce(callback, DRIVE_NOT_READY, std::string()));
+        FROM_HERE,
+        base::BindOnce(std::move(callback), DRIVE_NOT_READY, std::string()));
   }
 }
 
@@ -169,11 +172,11 @@
   OnHandleRefreshToken(false);
 }
 
-void AuthService::OnAuthCompleted(const AuthStatusCallback& callback,
+void AuthService::OnAuthCompleted(AuthStatusCallback callback,
                                   DriveApiErrorCode error,
                                   const std::string& access_token) {
   DCHECK(thread_checker_.CalledOnValidThread());
-  DCHECK(!callback.is_null());
+  DCHECK(callback);
 
   if (error == HTTP_SUCCESS) {
     access_token_ = access_token;
@@ -188,7 +191,7 @@
     ClearRefreshToken();
   }
 
-  callback.Run(error, access_token);
+  std::move(callback).Run(error, access_token);
 }
 
 void AuthService::AddObserver(AuthServiceObserver* observer) {
diff --git a/google_apis/drive/auth_service.h b/google_apis/drive/auth_service.h
index 0e49064..1af5e8f 100644
--- a/google_apis/drive/auth_service.h
+++ b/google_apis/drive/auth_service.h
@@ -44,7 +44,7 @@
   // Overriden from AuthServiceInterface:
   void AddObserver(AuthServiceObserver* observer) override;
   void RemoveObserver(AuthServiceObserver* observer) override;
-  void StartAuthentication(const AuthStatusCallback& callback) override;
+  void StartAuthentication(AuthStatusCallback callback) override;
   bool HasAccessToken() const override;
   bool HasRefreshToken() const override;
   const std::string& access_token() const override;
@@ -63,7 +63,7 @@
 
   // Called when authentication request from StartAuthentication() is
   // completed.
-  void OnAuthCompleted(const AuthStatusCallback& callback,
+  void OnAuthCompleted(AuthStatusCallback callback,
                        DriveApiErrorCode error,
                        const std::string& access_token);
 
diff --git a/google_apis/drive/auth_service_interface.h b/google_apis/drive/auth_service_interface.h
index 3616219..7496e12 100644
--- a/google_apis/drive/auth_service_interface.h
+++ b/google_apis/drive/auth_service_interface.h
@@ -7,7 +7,7 @@
 
 #include <string>
 
-#include "base/callback_forward.h"
+#include "base/callback.h"
 #include "google_apis/drive/drive_api_error_codes.h"
 
 namespace google_apis {
@@ -15,8 +15,8 @@
 class AuthServiceObserver;
 
 // Called when fetching of access token is complete.
-typedef base::Callback<void(DriveApiErrorCode error,
-                            const std::string& access_token)>
+typedef base::OnceCallback<void(DriveApiErrorCode error,
+                                const std::string& access_token)>
     AuthStatusCallback;
 
 // This defines an interface for the authentication service which is required
@@ -32,7 +32,7 @@
 
   // Starts fetching OAuth2 access token from the refresh token.
   // |callback| must not be null.
-  virtual void StartAuthentication(const AuthStatusCallback& callback) = 0;
+  virtual void StartAuthentication(AuthStatusCallback callback) = 0;
 
   // True if an OAuth2 access token is retrieved and believed to be fresh.
   // The access token is used to access the Drive server.
diff --git a/google_apis/drive/dummy_auth_service.cc b/google_apis/drive/dummy_auth_service.cc
index e1b6891..b7d0a058 100644
--- a/google_apis/drive/dummy_auth_service.cc
+++ b/google_apis/drive/dummy_auth_service.cc
@@ -17,8 +17,7 @@
 void DummyAuthService::RemoveObserver(AuthServiceObserver* observer) {
 }
 
-void DummyAuthService::StartAuthentication(const AuthStatusCallback& callback) {
-}
+void DummyAuthService::StartAuthentication(AuthStatusCallback callback) {}
 
 bool DummyAuthService::HasAccessToken() const {
   return !access_token_.empty();
diff --git a/google_apis/drive/dummy_auth_service.h b/google_apis/drive/dummy_auth_service.h
index 87236e6a..e310ecc 100644
--- a/google_apis/drive/dummy_auth_service.h
+++ b/google_apis/drive/dummy_auth_service.h
@@ -26,7 +26,7 @@
   // AuthServiceInterface overrides.
   void AddObserver(AuthServiceObserver* observer) override;
   void RemoveObserver(AuthServiceObserver* observer) override;
-  void StartAuthentication(const AuthStatusCallback& callback) override;
+  void StartAuthentication(AuthStatusCallback callback) override;
   bool HasAccessToken() const override;
   bool HasRefreshToken() const override;
   const std::string& access_token() const override;
diff --git a/google_apis/drive/request_sender.cc b/google_apis/drive/request_sender.cc
index 2e242d8..2ada4c6 100644
--- a/google_apis/drive/request_sender.cc
+++ b/google_apis/drive/request_sender.cc
@@ -50,8 +50,8 @@
   if (!auth_service_->HasAccessToken()) {
     // Fetch OAuth2 access token from the refresh token first.
     auth_service_->StartAuthentication(
-        base::Bind(&RequestSender::OnAccessTokenFetched,
-                   weak_ptr_factory_.GetWeakPtr(), request->GetWeakPtr()));
+        base::BindOnce(&RequestSender::OnAccessTokenFetched,
+                       weak_ptr_factory_.GetWeakPtr(), request->GetWeakPtr()));
   } else {
     request->Start(auth_service_->access_token(), custom_user_agent_,
                    base::BindRepeating(&RequestSender::RetryRequest,
diff --git a/google_apis/drive/request_sender_unittest.cc b/google_apis/drive/request_sender_unittest.cc
index 469a922..3545ee2 100644
--- a/google_apis/drive/request_sender_unittest.cc
+++ b/google_apis/drive/request_sender_unittest.cc
@@ -34,7 +34,7 @@
  public:
   TestAuthService() : auth_try_count_(0) {}
 
-  void StartAuthentication(const AuthStatusCallback& callback) override {
+  void StartAuthentication(AuthStatusCallback callback) override {
     // RequestSender should clear the rejected access token before starting
     // to request another one.
     EXPECT_FALSE(HasAccessToken());
@@ -45,10 +45,10 @@
       const std::string token =
           kTestAccessToken + base::NumberToString(auth_try_count_);
       set_access_token(token);
-      callback.Run(HTTP_SUCCESS, token);
+      std::move(callback).Run(HTTP_SUCCESS, token);
     } else {
       set_access_token("");
-      callback.Run(HTTP_UNAUTHORIZED, "");
+      std::move(callback).Run(HTTP_UNAUTHORIZED, "");
     }
   }
 
diff --git a/gpu/command_buffer/common/gles2_cmd_utils.cc b/gpu/command_buffer/common/gles2_cmd_utils.cc
index 7f0bdb3..116c7e16 100644
--- a/gpu/command_buffer/common/gles2_cmd_utils.cc
+++ b/gpu/command_buffer/common/gles2_cmd_utils.cc
@@ -1223,6 +1223,8 @@
     case GL_RGB16I:
     case GL_RGB32UI:
     case GL_RGB32I:
+    case GL_RGB16_EXT:
+    case GL_RGB16_SNORM_EXT:
       return kRGB;
     case GL_BGRA_EXT:
     case GL_BGRA8_EXT:
@@ -1243,6 +1245,8 @@
     case GL_RGBA16I:
     case GL_RGBA32UI:
     case GL_RGBA32I:
+    case GL_RGBA16_EXT:
+    case GL_RGBA16_SNORM_EXT:
       return kRGBA;
     case GL_DEPTH_COMPONENT32_OES:
     case GL_DEPTH_COMPONENT24_OES:
@@ -1267,6 +1271,8 @@
     case GL_R16I:
     case GL_R32UI:
     case GL_R32I:
+    case GL_R16_EXT:
+    case GL_R16_SNORM_EXT:
       return kRed;
     case GL_RG_EXT:
     case GL_RG8:
@@ -1279,6 +1285,8 @@
     case GL_RG16I:
     case GL_RG32UI:
     case GL_RG32I:
+    case GL_RG16_EXT:
+    case GL_RG16_SNORM_EXT:
       return kRed | kGreen;
     default:
       return 0x0000;
@@ -1290,6 +1298,8 @@
     case GL_ALPHA16F_EXT:
     case GL_ALPHA32F_EXT:
     case GL_RGB8:
+    case GL_RGB16_EXT:
+    case GL_RGB16_SNORM_EXT:
     case GL_RGB565:
     case GL_RGB16F:
     case GL_RGB32F:
@@ -1307,6 +1317,8 @@
     case GL_RGBA16F:
     case GL_RGBA32F:
     case GL_RGBA8_OES:
+    case GL_RGBA16_EXT:
+    case GL_RGBA16_SNORM_EXT:
     case GL_RGBA4:
     case GL_RGB5_A1:
     case GL_SRGB8_ALPHA8:
@@ -1321,6 +1333,8 @@
     case GL_RGBA32I:
     case GL_R8:
     case GL_R8_SNORM:
+    case GL_R16_EXT:
+    case GL_R16_SNORM_EXT:
     case GL_R16F:
     case GL_R32F:
     case GL_R8UI:
@@ -1331,6 +1345,8 @@
     case GL_R32I:
     case GL_RG8:
     case GL_RG8_SNORM:
+    case GL_RG16_EXT:
+    case GL_RG16_SNORM_EXT:
     case GL_RG16F:
     case GL_RG32F:
     case GL_RG8UI:
@@ -1434,6 +1450,8 @@
     case GL_RGB16F:
     case GL_RGB16UI:
     case GL_RGB16I:
+    case GL_RGB16_EXT:
+    case GL_RGB16_SNORM_EXT:
       *r = 16;
       *g = 16;
       *b = 16;
@@ -1469,6 +1487,8 @@
     case GL_RGBA16F_EXT:
     case GL_RGBA16UI:
     case GL_RGBA16I:
+    case GL_RGBA16_EXT:
+    case GL_RGBA16_SNORM_EXT:
       *r = 16;
       *g = 16;
       *b = 16;
@@ -1511,6 +1531,7 @@
     case GL_R16UI:
     case GL_R16I:
     case GL_R16_EXT:
+    case GL_R16_SNORM_EXT:
       *r = 16;
       break;
     case GL_R32F:
@@ -1528,6 +1549,8 @@
     case GL_RG16F:
     case GL_RG16UI:
     case GL_RG16I:
+    case GL_RG16_EXT:
+    case GL_RG16_SNORM_EXT:
       *r = 16;
       *g = 16;
       break;
@@ -1792,6 +1815,8 @@
           return GL_RGB16F;
         case GL_FLOAT:
           return GL_RGB32F;
+        case GL_UNSIGNED_SHORT:
+          return GL_RGB16_EXT;
         default:
           NOTREACHED();
           break;
@@ -1809,6 +1834,8 @@
           return GL_RGBA16F;
         case GL_FLOAT:
           return GL_RGBA32F;
+        case GL_UNSIGNED_SHORT:
+          return GL_RGBA16_EXT;
         default:
           NOTREACHED();
           break;
@@ -1850,6 +1877,8 @@
           return GL_RG16F;
         case GL_FLOAT:
           return GL_RG32F;
+        case GL_UNSIGNED_SHORT:
+          return GL_RG16_EXT;
         default:
           NOTREACHED();
           break;
diff --git a/gpu/command_buffer/service/feature_info.cc b/gpu/command_buffer/service/feature_info.cc
index 1219afcd4..9877981 100644
--- a/gpu/command_buffer/service/feature_info.cc
+++ b/gpu/command_buffer/service/feature_info.cc
@@ -1415,19 +1415,55 @@
       (gl_version_info_->IsAtLeastGL(2, 1) &&
        gfx::HasExtension(extensions, "GL_ARB_texture_rg")) ||
       gfx::HasExtension(extensions, "GL_EXT_texture_norm16")) {
-    // TODO(hubbe): Rename ext_texture_norm16 to texture_r16
+    AddExtensionString("GL_EXT_texture_norm16");
     feature_flags_.ext_texture_norm16 = true;
     g_r16_is_present = true;
 
-    // Note: EXT_texture_norm16 is not exposed through WebGL API so we validate
-    // only the combinations used internally.
     validators_.pixel_type.AddValue(GL_UNSIGNED_SHORT);
-    validators_.texture_format.AddValue(GL_RED_EXT);
-    validators_.texture_internal_format.AddValue(GL_R16_EXT);
-    validators_.texture_internal_format.AddValue(GL_RED_EXT);
-    validators_.texture_unsized_internal_format.AddValue(GL_RED_EXT);
-    validators_.texture_internal_format_storage.AddValue(GL_R16_EXT);
+    validators_.pixel_type.AddValue(GL_SHORT);
 
+    validators_.texture_format.AddValue(GL_RED_EXT);
+    validators_.texture_format.AddValue(GL_RG_EXT);
+
+    validators_.texture_internal_format.AddValue(GL_R16_EXT);
+    validators_.texture_internal_format.AddValue(GL_RG16_EXT);
+    validators_.texture_internal_format.AddValue(GL_RGB16_EXT);
+    validators_.texture_internal_format.AddValue(GL_RGBA16_EXT);
+    validators_.texture_internal_format.AddValue(GL_R16_SNORM_EXT);
+    validators_.texture_internal_format.AddValue(GL_RG16_SNORM_EXT);
+    validators_.texture_internal_format.AddValue(GL_RGB16_SNORM_EXT);
+    validators_.texture_internal_format.AddValue(GL_RGBA16_SNORM_EXT);
+    validators_.texture_internal_format.AddValue(GL_RED_EXT);
+
+    validators_.read_pixel_format.AddValue(GL_R16_EXT);
+    validators_.read_pixel_format.AddValue(GL_RG16_EXT);
+    validators_.read_pixel_format.AddValue(GL_RGBA16_EXT);
+
+    validators_.render_buffer_format.AddValue(GL_R16_EXT);
+    validators_.render_buffer_format.AddValue(GL_RG16_EXT);
+    validators_.render_buffer_format.AddValue(GL_RGBA16_EXT);
+
+    validators_.texture_unsized_internal_format.AddValue(GL_RED_EXT);
+    validators_.texture_unsized_internal_format.AddValue(GL_RG_EXT);
+
+    validators_.texture_internal_format_storage.AddValue(GL_R16_EXT);
+    validators_.texture_internal_format_storage.AddValue(GL_RG16_EXT);
+    validators_.texture_internal_format_storage.AddValue(GL_RGB16_EXT);
+    validators_.texture_internal_format_storage.AddValue(GL_RGBA16_EXT);
+    validators_.texture_internal_format_storage.AddValue(GL_R16_SNORM_EXT);
+    validators_.texture_internal_format_storage.AddValue(GL_RG16_SNORM_EXT);
+    validators_.texture_internal_format_storage.AddValue(GL_RGB16_SNORM_EXT);
+    validators_.texture_internal_format_storage.AddValue(GL_RGBA16_SNORM_EXT);
+
+    validators_.texture_sized_color_renderable_internal_format.AddValue(
+        GL_R16_EXT);
+    validators_.texture_sized_color_renderable_internal_format.AddValue(
+        GL_RG16_EXT);
+    validators_.texture_sized_color_renderable_internal_format.AddValue(
+        GL_RGBA16_EXT);
+
+    // TODO(shrekshao): gpu_memory_buffer_formats is not used by WebGL
+    // So didn't expose all buffer formats here.
     feature_flags_.gpu_memory_buffer_formats.Add(gfx::BufferFormat::R_16);
   }
 
diff --git a/gpu/command_buffer/service/gles2_cmd_decoder.cc b/gpu/command_buffer/service/gles2_cmd_decoder.cc
index fdcdc30..a81149c2 100644
--- a/gpu/command_buffer/service/gles2_cmd_decoder.cc
+++ b/gpu/command_buffer/service/gles2_cmd_decoder.cc
@@ -13334,6 +13334,12 @@
       accepted_formats.push_back(GL_RGBA);
       accepted_types.push_back(GL_UNSIGNED_INT_2_10_10_10_REV);
       break;
+    case GL_R16_EXT:
+    case GL_RG16_EXT:
+    case GL_RGBA16_EXT:
+      accepted_formats.push_back(GL_RGBA);
+      accepted_types.push_back(GL_UNSIGNED_SHORT);
+      break;
     default:
       accepted_formats.push_back(GL_RGBA);
       {
diff --git a/gpu/command_buffer/service/texture_manager.cc b/gpu/command_buffer/service/texture_manager.cc
index b889041..6b98775 100644
--- a/gpu/command_buffer/service/texture_manager.cc
+++ b/gpu/command_buffer/service/texture_manager.cc
@@ -222,6 +222,13 @@
 
         // Exposed by GL_EXT_texture_norm16
         {GL_R16_EXT, GL_RED, GL_UNSIGNED_SHORT},
+        {GL_RG16_EXT, GL_RG, GL_UNSIGNED_SHORT},
+        {GL_RGB16_EXT, GL_RGB, GL_UNSIGNED_SHORT},
+        {GL_RGBA16_EXT, GL_RGBA, GL_UNSIGNED_SHORT},
+        {GL_R16_SNORM_EXT, GL_RED, GL_SHORT},
+        {GL_RG16_SNORM_EXT, GL_RG, GL_SHORT},
+        {GL_RGB16_SNORM_EXT, GL_RGB, GL_SHORT},
+        {GL_RGBA16_SNORM_EXT, GL_RGBA, GL_SHORT},
     };
 
     static const FormatType kSupportedFormatTypesES2Only[] = {
@@ -3828,6 +3835,7 @@
     case GL_R16F:
     case GL_R32F:
     case GL_R16_EXT:
+    case GL_R16_SNORM_EXT:
       return GL_RED;
     case GL_R8UI:
     case GL_R8I:
@@ -3841,6 +3849,8 @@
     case GL_RG:
     case GL_RG8:
     case GL_RG8_SNORM:
+    case GL_RG16:
+    case GL_RG16_SNORM:
     case GL_RG16F:
     case GL_RG32F:
       return GL_RG;
@@ -3862,9 +3872,11 @@
     case GL_RGB:
     case GL_RGB8:
     case GL_SRGB8:
+    case GL_RGB16:
     case GL_R11F_G11F_B10F:
     case GL_RGB565:
     case GL_RGB8_SNORM:
+    case GL_RGB16_SNORM:
     case GL_RGB9_E5:
     case GL_RGB16F:
     case GL_RGB32F:
@@ -3897,8 +3909,10 @@
     case GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2:
     case GL_RGBA:
     case GL_RGBA8:
+    case GL_RGBA16:
     case GL_SRGB8_ALPHA8:
     case GL_RGBA8_SNORM:
+    case GL_RGBA16_SNORM:
     case GL_RGBA4:
     case GL_RGB5_A1:
     case GL_RGB10_A2:
@@ -3981,6 +3995,8 @@
       return GL_SHORT;
     case GL_R16_EXT:
       return GL_UNSIGNED_SHORT;
+    case GL_R16_SNORM_EXT:
+      return GL_SHORT;
     case GL_R32UI:
       return GL_UNSIGNED_INT;
     case GL_R32I:
@@ -4001,6 +4017,10 @@
       return GL_UNSIGNED_SHORT;
     case GL_RG16I:
       return GL_SHORT;
+    case GL_RG16_EXT:
+      return GL_UNSIGNED_SHORT;
+    case GL_RG16_SNORM_EXT:
+      return GL_SHORT;
     case GL_RG32UI:
       return GL_UNSIGNED_INT;
     case GL_RG32I:
@@ -4028,6 +4048,10 @@
       return GL_UNSIGNED_SHORT;
     case GL_RGB16I:
       return GL_SHORT;
+    case GL_RGB16_EXT:
+      return GL_UNSIGNED_SHORT;
+    case GL_RGB16_SNORM_EXT:
+      return GL_SHORT;
     case GL_RGB32UI:
       return GL_UNSIGNED_INT;
     case GL_RGB32I:
@@ -4058,6 +4082,10 @@
       return GL_UNSIGNED_SHORT;
     case GL_RGBA16I:
       return GL_SHORT;
+    case GL_RGBA16_EXT:
+      return GL_UNSIGNED_SHORT;
+    case GL_RGBA16_SNORM_EXT:
+      return GL_SHORT;
     case GL_RGBA32I:
       return GL_INT;
     case GL_RGBA32UI:
diff --git a/gpu/command_buffer/service/texture_manager_unittest.cc b/gpu/command_buffer/service/texture_manager_unittest.cc
index fd96443..0282950 100644
--- a/gpu/command_buffer/service/texture_manager_unittest.cc
+++ b/gpu/command_buffer/service/texture_manager_unittest.cc
@@ -2765,6 +2765,14 @@
                    CONTEXT_TYPE_OPENGLES3);
 
   ExpectValid(true, GL_RED, GL_UNSIGNED_SHORT, GL_R16_EXT);
+  ExpectValid(true, GL_RG, GL_UNSIGNED_SHORT, GL_RG16_EXT);
+  ExpectValid(true, GL_RGB, GL_UNSIGNED_SHORT, GL_RGB16_EXT);
+  ExpectValid(true, GL_RGBA, GL_UNSIGNED_SHORT, GL_RGBA16_EXT);
+
+  ExpectValid(true, GL_RED, GL_SHORT, GL_R16_SNORM_EXT);
+  ExpectValid(true, GL_RG, GL_SHORT, GL_RG16_SNORM_EXT);
+  ExpectValid(true, GL_RGB, GL_SHORT, GL_RGB16_SNORM_EXT);
+  ExpectValid(true, GL_RGBA, GL_SHORT, GL_RGBA16_SNORM_EXT);
 }
 
 }  // namespace gles2
diff --git a/ios/chrome/browser/ui/overlays/infobar_banner/infobar_banner_overlay_mediator.mm b/ios/chrome/browser/ui/overlays/infobar_banner/infobar_banner_overlay_mediator.mm
index 6661314..e30a11f 100644
--- a/ios/chrome/browser/ui/overlays/infobar_banner/infobar_banner_overlay_mediator.mm
+++ b/ios/chrome/browser/ui/overlays/infobar_banner/infobar_banner_overlay_mediator.mm
@@ -45,27 +45,27 @@
 - (void)bannerInfobarButtonWasPressed:(UIButton*)sender {
   // Notify the model layer to perform the infobar's main action before
   // dismissing the banner.
-  [self dispatchResponseAndStopOverlay:OverlayResponse::CreateWithInfo<
-                                           InfobarBannerMainActionResponse>()];
+  [self dispatchResponse:OverlayResponse::CreateWithInfo<
+                             InfobarBannerMainActionResponse>()];
+  [self dismissOverlay];
 }
 
 - (void)dismissInfobarBannerForUserInteraction:(BOOL)userInitiated {
   if (userInitiated) {
     // Notify the model layer of user-initiated banner dismissal before
     // dismissing the banner.
-    [self dispatchResponseAndStopOverlay:
-              OverlayResponse::CreateWithInfo<
-                  InfobarBannerUserInitiatedDismissalResponse>()];
-  } else {
-    [self.delegate stopOverlayForMediator:self];
+    [self dispatchResponse:OverlayResponse::CreateWithInfo<
+                               InfobarBannerUserInitiatedDismissalResponse>()];
   }
+  [self dismissOverlay];
 }
 
 - (void)presentInfobarModalFromBanner {
   // Notify the model layer to show the infobar modal before dismissing the
   // banner.
-  [self dispatchResponseAndStopOverlay:OverlayResponse::CreateWithInfo<
-                                           InfobarBannerShowModalResponse>()];
+  [self dispatchResponse:OverlayResponse::CreateWithInfo<
+                             InfobarBannerShowModalResponse>()];
+  [self dismissOverlay];
 }
 
 - (void)infobarBannerWasDismissed {
diff --git a/ios/chrome/browser/ui/overlays/infobar_modal/infobar_modal_overlay_mediator.mm b/ios/chrome/browser/ui/overlays/infobar_modal/infobar_modal_overlay_mediator.mm
index 4316a6c..6afdf7e 100644
--- a/ios/chrome/browser/ui/overlays/infobar_modal/infobar_modal_overlay_mediator.mm
+++ b/ios/chrome/browser/ui/overlays/infobar_modal/infobar_modal_overlay_mediator.mm
@@ -23,8 +23,9 @@
 }
 
 - (void)modalInfobarButtonWasAccepted:(id)infobarModal {
-  [self dispatchResponseAndStopOverlay:OverlayResponse::CreateWithInfo<
-                                           InfobarModalMainActionResponse>()];
+  [self dispatchResponse:OverlayResponse::CreateWithInfo<
+                             InfobarModalMainActionResponse>()];
+  [self dismissOverlay];
 }
 
 - (void)modalInfobarWasDismissed:(id)infobarModal {
diff --git a/ios/chrome/browser/ui/overlays/overlay_request_mediator+subclassing.h b/ios/chrome/browser/ui/overlays/overlay_request_mediator+subclassing.h
index 2a80a51..90d744e 100644
--- a/ios/chrome/browser/ui/overlays/overlay_request_mediator+subclassing.h
+++ b/ios/chrome/browser/ui/overlays/overlay_request_mediator+subclassing.h
@@ -14,10 +14,12 @@
 // Exposes shared functionality for OverlayRequestMediator subclasses.
 @interface OverlayRequestMediator (Subclassing)
 
-// Dispatches |response| through the mediator's request callback manager, then
-// instructs the delegate to stop the overlay.
-- (void)dispatchResponseAndStopOverlay:
-    (std::unique_ptr<OverlayResponse>)response;
+// Dispatches |response| through the mediator's request callback manager.  Does
+// nothing if the request has been cancelled.
+- (void)dispatchResponse:(std::unique_ptr<OverlayResponse>)response;
+
+// Instructs the delegate to stop the overlay.
+- (void)dismissOverlay;
 
 @end
 
diff --git a/ios/chrome/browser/ui/overlays/overlay_request_mediator.mm b/ios/chrome/browser/ui/overlays/overlay_request_mediator.mm
index 4cdd1b26..a69795c5 100644
--- a/ios/chrome/browser/ui/overlays/overlay_request_mediator.mm
+++ b/ios/chrome/browser/ui/overlays/overlay_request_mediator.mm
@@ -55,10 +55,12 @@
 
 @implementation OverlayRequestMediator (Subclassing)
 
-- (void)dispatchResponseAndStopOverlay:
-    (std::unique_ptr<OverlayResponse>)response {
+- (void)dispatchResponse:(std::unique_ptr<OverlayResponse>)response {
   if (self.request)
     self.request->GetCallbackManager()->DispatchResponse(std::move(response));
+}
+
+- (void)dismissOverlay {
   [self.delegate stopOverlayForMediator:self];
 }
 
diff --git a/ios/chrome/browser/ui/overlays/overlay_request_mediator_unittest.mm b/ios/chrome/browser/ui/overlays/overlay_request_mediator_unittest.mm
index 0b2a17f..f873659b 100644
--- a/ios/chrome/browser/ui/overlays/overlay_request_mediator_unittest.mm
+++ b/ios/chrome/browser/ui/overlays/overlay_request_mediator_unittest.mm
@@ -39,9 +39,8 @@
   EXPECT_EQ(nullptr, mediator.request);
 }
 
-// Tests that the |-dispatchResponseAndStopOverlay:| correctly dispatches the
-// response and stops the overlay.
-TEST_F(OverlayRequestMediatorTest, DispatchResponseAndStopOverlay) {
+// Tests that |-dispatchResponse:| correctly dispatches the response.
+TEST_F(OverlayRequestMediatorTest, DispatchResponse) {
   std::unique_ptr<OverlayRequest> request =
       OverlayRequest::CreateWithConfig<FakeOverlayUserData>();
   // Add a dispatch callback that sets |dispatch_callback_executed| to true
@@ -58,13 +57,24 @@
                               DispatchInfo::ResponseSupport()));
   OverlayRequestMediator* mediator =
       [[OverlayRequestMediator alloc] initWithRequest:request.get()];
+  // Dispatch the response and verify |dipatch_callback_executed|.
+  [mediator dispatchResponse:std::move(dispatched_response)];
+
+  EXPECT_TRUE(dispatch_callback_executed);
+}
+
+// Tests that |-dismissOverlay| stops the overlay.
+TEST_F(OverlayRequestMediatorTest, DismissOverlay) {
+  std::unique_ptr<OverlayRequest> request =
+      OverlayRequest::CreateWithConfig<FakeOverlayUserData>();
+  OverlayRequestMediator* mediator =
+      [[OverlayRequestMediator alloc] initWithRequest:request.get()];
   id<OverlayRequestMediatorDelegate> delegate =
       OCMStrictProtocolMock(@protocol(OverlayRequestMediatorDelegate));
   mediator.delegate = delegate;
   OCMExpect([delegate stopOverlayForMediator:mediator]);
 
-  [mediator dispatchResponseAndStopOverlay:std::move(dispatched_response)];
+  [mediator dismissOverlay];
 
-  EXPECT_TRUE(dispatch_callback_executed);
   EXPECT_OCMOCK_VERIFY(delegate);
 }
diff --git a/ios/web/common/features.h b/ios/web/common/features.h
index cbaf6d5..27409d1a 100644
--- a/ios/web/common/features.h
+++ b/ios/web/common/features.h
@@ -50,6 +50,11 @@
 // is requested by default.
 extern const base::Feature kUseDefaultUserAgentInWebClient;
 
+// When enabled, preserves properties of the UIScrollView using CRWPropertyStore
+// when the scroll view is recreated. When disabled, only preserve a small set
+// of properties using hard coded logic.
+extern const base::Feature kPreserveScrollViewProperties;
+
 // Use WKWebView.loading to update WebState::IsLoading.
 // TODO(crbug.com/1006012): Clean up this flag after experiment.
 bool UseWKWebViewLoading();
diff --git a/ios/web/common/features.mm b/ios/web/common/features.mm
index 76f1301..47d96c60 100644
--- a/ios/web/common/features.mm
+++ b/ios/web/common/features.mm
@@ -44,6 +44,9 @@
 const base::Feature kUseDefaultUserAgentInWebClient{
     "UseDefaultUserAgentInWebClient", base::FEATURE_DISABLED_BY_DEFAULT};
 
+const base::Feature kPreserveScrollViewProperties{
+    "PreserveScrollViewProperties", base::FEATURE_DISABLED_BY_DEFAULT};
+
 bool UseWKWebViewLoading() {
   return base::FeatureList::IsEnabled(web::features::kUseWKWebViewLoading);
 }
diff --git a/ios/web/navigation/crw_session_storage_unittest.mm b/ios/web/navigation/crw_session_storage_unittest.mm
index 6bd283c..37e6d66 100644
--- a/ios/web/navigation/crw_session_storage_unittest.mm
+++ b/ios/web/navigation/crw_session_storage_unittest.mm
@@ -53,7 +53,6 @@
   return ItemStorageListsAreEqual(items1, items2) &&
          session1.hasOpener == session2.hasOpener &&
          session1.lastCommittedItemIndex == session2.lastCommittedItemIndex &&
-         session1.previousItemIndex == session2.previousItemIndex &&
          UserDataAreEqual(session1.userData, session2.userData);
 }
 }  // namespace
@@ -65,7 +64,6 @@
     // Set up |session_storage_|.
     [session_storage_ setHasOpener:YES];
     [session_storage_ setLastCommittedItemIndex:4];
-    [session_storage_ setPreviousItemIndex:3];
     // Create an item storage.
     CRWNavigationItemStorage* item_storage =
         [[CRWNavigationItemStorage alloc] init];
diff --git a/ios/web/navigation/navigation_manager_impl.h b/ios/web/navigation/navigation_manager_impl.h
index b857e47..26633e05 100644
--- a/ios/web/navigation/navigation_manager_impl.h
+++ b/ios/web/navigation/navigation_manager_impl.h
@@ -130,12 +130,6 @@
   // moved from CRWWebController to NavigationManagerImpl.
   virtual int GetIndexForOffset(int offset) const = 0;
 
-  // Returns the index of the previous item. Only used by SessionStorageBuilder.
-  virtual int GetPreviousItemIndex() const = 0;
-
-  // Sets the index of the previous item. Only used by SessionStorageBuilder.
-  virtual void SetPreviousItemIndex(int previous_item_index) = 0;
-
   // Updates navigation history (if applicable) after pushState.
   // TODO(crbug.com/783382): This is a legacy method to maintain backward
   // compatibility for PageLoad stat. Remove this method once PageLoad no longer
diff --git a/ios/web/navigation/navigation_manager_impl_unittest.mm b/ios/web/navigation/navigation_manager_impl_unittest.mm
index 252deb8..b13b069 100644
--- a/ios/web/navigation/navigation_manager_impl_unittest.mm
+++ b/ios/web/navigation/navigation_manager_impl_unittest.mm
@@ -162,22 +162,6 @@
   EXPECT_FALSE(navigation_manager()->GetPendingItem());
   EXPECT_EQ(-1, navigation_manager()->GetPendingItemIndex());
   EXPECT_EQ(-1, navigation_manager()->GetIndexForOffset(0));
-  EXPECT_EQ(-1, navigation_manager()->GetPreviousItemIndex());
-}
-
-// Tests that the simpler setter SetPreviousItemIndex() updates the previous
-// item index without sanity check.
-TEST_F(NavigationManagerTest, SetPreviousItemIndex) {
-  EXPECT_EQ(-1, navigation_manager()->GetPreviousItemIndex());
-
-  navigation_manager()->SetPreviousItemIndex(0);
-  EXPECT_EQ(0, navigation_manager()->GetPreviousItemIndex());
-
-  navigation_manager()->SetPreviousItemIndex(1);
-  EXPECT_EQ(1, navigation_manager()->GetPreviousItemIndex());
-
-  navigation_manager()->SetPreviousItemIndex(-1);
-  EXPECT_EQ(-1, navigation_manager()->GetPreviousItemIndex());
 }
 
 // Tests that GetPendingItemIndex() returns -1 if there is no pending entry.
@@ -2295,7 +2279,6 @@
   navigation_manager()->CommitPendingItem(std::move(item));
 
   // Verify navigation manager and navigation item states.
-    EXPECT_EQ(1, navigation_manager()->GetPreviousItemIndex());
   EXPECT_EQ(1, navigation_manager()->GetLastCommittedItemIndex());
   EXPECT_EQ(0, navigation_manager()->GetPendingItemIndex());
   ASSERT_TRUE(navigation_manager()->GetLastCommittedItem());
diff --git a/ios/web/navigation/session_storage_builder.mm b/ios/web/navigation/session_storage_builder.mm
index 5f2c4c8..afd09ce 100644
--- a/ios/web/navigation/session_storage_builder.mm
+++ b/ios/web/navigation/session_storage_builder.mm
@@ -40,8 +40,6 @@
     session_storage.lastCommittedItemIndex =
         navigation_manager->GetItemCount() - 1;
   }
-  session_storage.previousItemIndex =
-      navigation_manager->GetPreviousItemIndex();
   NSMutableArray* item_storages = [[NSMutableArray alloc] init];
   NavigationItemStorageBuilder item_storage_builder;
   size_t originalIndex = session_storage.lastCommittedItemIndex;
@@ -93,8 +91,6 @@
   }
   web_state->navigation_manager_->Restore(storage.lastCommittedItemIndex,
                                           std::move(items));
-  web_state->navigation_manager_->SetPreviousItemIndex(
-      storage.previousItemIndex);
 
   SessionCertificatePolicyCacheStorageBuilder cert_builder;
   std::unique_ptr<SessionCertificatePolicyCacheImpl> cert_policy_cache =
diff --git a/ios/web/navigation/wk_based_navigation_manager_impl.h b/ios/web/navigation/wk_based_navigation_manager_impl.h
index 110a25f..d224587 100644
--- a/ios/web/navigation/wk_based_navigation_manager_impl.h
+++ b/ios/web/navigation/wk_based_navigation_manager_impl.h
@@ -106,9 +106,6 @@
   std::unique_ptr<web::NavigationItemImpl> ReleasePendingItem() override;
   void SetPendingItem(std::unique_ptr<web::NavigationItemImpl> item) override;
   int GetIndexForOffset(int offset) const override;
-  // Returns the previous navigation item in the main frame.
-  int GetPreviousItemIndex() const override;
-  void SetPreviousItemIndex(int previous_item_index) override;
   void AddPushStateItemIfNecessary(const GURL& url,
                                    NSString* state_object,
                                    ui::PageTransition transition) override;
@@ -261,10 +258,6 @@
   // back-forward list.
   int pending_item_index_;
 
-  // Index of the previous navigation item in the main frame. If there is none,
-  // this field will have value -1.
-  int previous_item_index_;
-
   // Index of the last committed item in the main frame. If there is none, this
   // field will equal to -1.
   int last_committed_item_index_;
diff --git a/ios/web/navigation/wk_based_navigation_manager_impl.mm b/ios/web/navigation/wk_based_navigation_manager_impl.mm
index d1e6360..f30cf75 100644
--- a/ios/web/navigation/wk_based_navigation_manager_impl.mm
+++ b/ios/web/navigation/wk_based_navigation_manager_impl.mm
@@ -66,7 +66,6 @@
 
 WKBasedNavigationManagerImpl::WKBasedNavigationManagerImpl()
     : pending_item_index_(-1),
-      previous_item_index_(-1),
       last_committed_item_index_(-1),
       web_view_cache_(this) {}
 
@@ -250,9 +249,6 @@
     return;
   }
 
-  bool last_committed_item_was_empty_window_open_item =
-      empty_window_open_item_ != nullptr;
-
   if (pending_item_index_ == -1) {
     pending_item_->ResetForCommit();
     pending_item_->SetTimestamp(
@@ -285,11 +281,6 @@
 
   pending_item_index_ = -1;
   pending_item_.reset();
-  // If the last committed item is the empty window open item, then don't update
-  // previous item because the new commit replaces the last committed item.
-  if (!last_committed_item_was_empty_window_open_item) {
-    previous_item_index_ = last_committed_item_index_;
-  }
   // If the newly committed item is the empty window open item, fake an index of
   // 0 because WKBackForwardList is empty at this point.
   last_committed_item_index_ =
@@ -311,9 +302,6 @@
   if (!item)
     return;
 
-  bool last_committed_item_was_empty_window_open_item =
-      empty_window_open_item_ != nullptr;
-
   item->ResetForCommit();
   item->SetTimestamp(time_smoother_.GetSmoothedTime(base::Time::Now()));
 
@@ -366,11 +354,6 @@
     }
   }
 
-  // If the last committed item is the empty window open item, then don't update
-  // previous item because the new commit replaces the last committed item.
-  if (!last_committed_item_was_empty_window_open_item) {
-    previous_item_index_ = last_committed_item_index_;
-  }
   // If the newly committed item is the empty window open item, fake an index of
   // 0 because WKBackForwardList is empty at this point.
   last_committed_item_index_ =
@@ -404,16 +387,6 @@
   pending_item_ = std::move(item);
 }
 
-int WKBasedNavigationManagerImpl::GetPreviousItemIndex() const {
-  return previous_item_index_;
-}
-
-void WKBasedNavigationManagerImpl::SetPreviousItemIndex(
-    int previous_item_index) {
-  DCHECK(web_view_cache_.IsAttachedToWebView());
-  previous_item_index_ = previous_item_index;
-}
-
 void WKBasedNavigationManagerImpl::AddPushStateItemIfNecessary(
     const GURL& url,
     NSString* state_object,
@@ -703,7 +676,6 @@
   }
   DCHECK_EQ(0, GetItemCount());
   DCHECK_EQ(-1, pending_item_index_);
-  previous_item_index_ = -1;
   last_committed_item_index_ = -1;
 
   UnsafeRestore(last_committed_item_index, std::move(items));
diff --git a/ios/web/navigation/wk_based_navigation_manager_impl_unittest.mm b/ios/web/navigation/wk_based_navigation_manager_impl_unittest.mm
index 6ce746d..ce60444 100644
--- a/ios/web/navigation/wk_based_navigation_manager_impl_unittest.mm
+++ b/ios/web/navigation/wk_based_navigation_manager_impl_unittest.mm
@@ -667,7 +667,6 @@
 // Tests that restoring session replaces existing history in navigation manager.
 TEST_F(WKBasedNavigationManagerTest, RestoreSessionResetsHistory) {
   EXPECT_EQ(-1, manager_->GetPendingItemIndex());
-  EXPECT_EQ(-1, manager_->GetPreviousItemIndex());
   EXPECT_EQ(-1, manager_->GetLastCommittedItemIndex());
 
   // Sets up the navigation history with 2 entries, and a pending back-forward
@@ -698,7 +697,6 @@
       web::NavigationManager::UserAgentOverrideOption::INHERIT);
 
   EXPECT_EQ(1, manager_->GetLastCommittedItemIndex());
-  EXPECT_EQ(0, manager_->GetPreviousItemIndex());
   EXPECT_EQ(0, manager_->GetPendingItemIndex());
   EXPECT_TRUE(manager_->GetPendingItem() != nullptr);
 
@@ -717,7 +715,6 @@
   // loading in the web view. This is not tested here because this test doesn't
   // use real WKWebView.
   EXPECT_EQ(-1, manager_->GetLastCommittedItemIndex());
-  EXPECT_EQ(-1, manager_->GetPreviousItemIndex());
   EXPECT_EQ(-1, manager_->GetPendingItemIndex());
 
   // Check that the only pending item is restore_session.html.
@@ -798,7 +795,6 @@
   EXPECT_EQ(1, manager_->GetIndexForOffset(1));
   EXPECT_EQ(-1, manager_->GetIndexForOffset(-1));
 
-  EXPECT_EQ(-1, manager_->GetPreviousItemIndex());
   EXPECT_EQ(1, manager_->GetItemCount());
   EXPECT_EQ(last_committed_item, manager_->GetItemAtIndex(0));
   EXPECT_FALSE(manager_->GetItemAtIndex(1));
@@ -841,7 +837,6 @@
   EXPECT_EQ(1, manager_->GetIndexForOffset(1));
   EXPECT_EQ(-1, manager_->GetIndexForOffset(-1));
 
-  EXPECT_EQ(-1, manager_->GetPreviousItemIndex());
   EXPECT_EQ(1, manager_->GetItemCount());
   EXPECT_EQ(last_committed_item_2, manager_->GetItemAtIndex(0));
   EXPECT_FALSE(manager_->GetItemAtIndex(1));
diff --git a/ios/web/public/session/crw_session_storage.h b/ios/web/public/session/crw_session_storage.h
index cb22a8a..f0e83f8d 100644
--- a/ios/web/public/session/crw_session_storage.h
+++ b/ios/web/public/session/crw_session_storage.h
@@ -20,7 +20,6 @@
 
 @property(nonatomic, assign) BOOL hasOpener;
 @property(nonatomic, assign) NSInteger lastCommittedItemIndex;
-@property(nonatomic, assign) NSInteger previousItemIndex;
 @property(nonatomic, copy) NSArray* itemStorages;
 @property(nonatomic, strong)
     CRWSessionCertificatePolicyCacheStorage* certPolicyCacheStorage;
diff --git a/ios/web/public/ui/crw_web_view_scroll_view_proxy.h b/ios/web/public/ui/crw_web_view_scroll_view_proxy.h
index 304c084..7de217e 100644
--- a/ios/web/public/ui/crw_web_view_scroll_view_proxy.h
+++ b/ios/web/public/ui/crw_web_view_scroll_view_proxy.h
@@ -22,6 +22,32 @@
 // information look at the UIScrollView documentation.
 // TODO(crbug.com/546152): rename class to CRWContentViewScrollViewProxy.
 @interface CRWWebViewScrollViewProxy : NSObject
+
+// Used by the CRWWebViewProxy to set the UIScrollView to be managed.
+- (void)setScrollView:(UIScrollView*)scrollView;
+
+// Adds |observer| to subscribe to change notifications.
+- (void)addObserver:(id<CRWWebViewScrollViewProxyObserver>)observer;
+
+// Removes |observer| as a subscriber for change notifications.
+- (void)removeObserver:(id<CRWWebViewScrollViewProxyObserver>)observer;
+
+// Returns a scroll view proxy which can be accessed as UIScrollView.
+//
+// Note: This method is introduced because CRWWebViewScrollViewProxy cannot
+// simply be a subclass of UIScrollView. Its implementation relies on
+// -forwardInvocation: which only works for methods not implemented in the class
+// (including those implemented in its superclass). So -forwardInvocation:
+// cannot forward methods in UIScrollView if CRWWebViewScrollViewProxy is a
+// subclass of UIScrollView.
+- (UIScrollView*)asUIScrollView;
+
+@end
+
+// Methods/properties implemented by -forwardInvocation:. Declared in a category
+// to avoid compilation error saying they are not implemented.
+@interface CRWWebViewScrollViewProxy (ForwardedMethods)
+
 @property(nonatomic, assign) CGPoint contentOffset;
 @property(nonatomic, assign) UIEdgeInsets contentInset;
 @property(nonatomic, readonly, getter=isDecelerating) BOOL decelerating;
@@ -51,29 +77,6 @@
 - (void)removeGestureRecognizer:(UIGestureRecognizer*)gestureRecognizer;
 - (void)setContentOffset:(CGPoint)contentOffset animated:(BOOL)animated;
 
-// Used by the CRWWebViewProxy to set the UIScrollView to be managed.
-- (void)setScrollView:(UIScrollView*)scrollView;
-
-// Adds |observer| to subscribe to change notifications.
-- (void)addObserver:(id<CRWWebViewScrollViewProxyObserver>)observer;
-
-// Removes |observer| as a subscriber for change notifications.
-- (void)removeObserver:(id<CRWWebViewScrollViewProxyObserver>)observer;
-
-// Returns a scroll view proxy which can be accessed as UIScrollView.
-//
-// Note: This method is introduced because CRWWebViewScrollViewProxy cannot
-// simply be a subclass of UIScrollView. Its implementation relies on
-// -forwardInvocation: which only works for methods not implemented in the class
-// (including those implemented in its superclass). So -forwardInvocation:
-// cannot forward methods in UIScrollView if CRWWebViewScrollViewProxy is a
-// subclass of UIScrollView.
-//
-// TODO(crbug.com/1023250): Support KVO of this scroll view.
-// TODO(crbug.com/1023250): Restore properties of the scroll view when the
-// scroll view is reset.
-- (UIScrollView*)asUIScrollView;
-
 @end
 
 // A protocol to be implemented by objects to listen for changes to the
diff --git a/ios/web/session/crw_session_storage.mm b/ios/web/session/crw_session_storage.mm
index ef72109..1d2e3d9 100644
--- a/ios/web/session/crw_session_storage.mm
+++ b/ios/web/session/crw_session_storage.mm
@@ -20,16 +20,12 @@
 NSString* const kItemStoragesKey = @"entries";
 NSString* const kHasOpenerKey = @"openedByDOM";
 NSString* const kLastCommittedItemIndexKey = @"lastCommittedItemIndex";
-NSString* const kPreviousItemIndexKey = @"previousItemIndex";
 
 // Deprecated, used for backward compatibility.
 // TODO(crbug.com/708795): Remove this key.
 NSString* const kLastCommittedItemIndexDeprecatedKey =
     @"currentNavigationIndex";
 
-// Deprecated, used for backward compatibility.
-// TODO(crbug.com/708795): Remove this key.
-NSString* const kPreviousItemIndexDeprecatedKey = @"previousNavigationIndex";
 }
 
 @interface CRWSessionStorage () {
@@ -43,7 +39,6 @@
 
 @synthesize hasOpener = _hasOpener;
 @synthesize lastCommittedItemIndex = _lastCommittedItemIndex;
-@synthesize previousItemIndex = _previousItemIndex;
 @synthesize itemStorages = _itemStorages;
 @synthesize certPolicyCacheStorage = _certPolicyCacheStorage;
 
@@ -74,14 +69,6 @@
           [decoder decodeIntForKey:kLastCommittedItemIndexDeprecatedKey];
     }
 
-    if ([decoder containsValueForKey:kPreviousItemIndexKey]) {
-      _previousItemIndex = [decoder decodeIntForKey:kPreviousItemIndexKey];
-    } else {
-      // Backward compatibility.
-      _previousItemIndex =
-          [decoder decodeIntForKey:kPreviousItemIndexDeprecatedKey];
-    }
-
     _itemStorages = [[NSMutableArray alloc]
         initWithArray:[decoder decodeObjectForKey:kItemStoragesKey]];
     // Prior to M34, 0 was used as "no index" instead of -1; adjust for that.
@@ -107,7 +94,6 @@
   [coder encodeBool:self.hasOpener forKey:kHasOpenerKey];
   [coder encodeInt:self.lastCommittedItemIndex
             forKey:kLastCommittedItemIndexKey];
-  [coder encodeInt:self.previousItemIndex forKey:kPreviousItemIndexKey];
   [coder encodeObject:self.itemStorages forKey:kItemStoragesKey];
   [coder encodeObject:self.certPolicyCacheStorage
                forKey:kCertificatePolicyCacheStorageKey];
diff --git a/ios/web/web_state/ui/BUILD.gn b/ios/web/web_state/ui/BUILD.gn
index bb024da..1a073e7 100644
--- a/ios/web/web_state/ui/BUILD.gn
+++ b/ios/web/web_state/ui/BUILD.gn
@@ -47,6 +47,8 @@
   ]
 
   sources = [
+    "crw_properties_store.h",
+    "crw_properties_store.mm",
     "crw_swipe_recognizer_provider.h",
     "crw_touch_tracking_recognizer.h",
     "crw_touch_tracking_recognizer.mm",
diff --git a/ios/web/web_state/ui/crw_properties_store.h b/ios/web/web_state/ui/crw_properties_store.h
new file mode 100644
index 0000000..d825705
--- /dev/null
+++ b/ios/web/web_state/ui/crw_properties_store.h
@@ -0,0 +1,80 @@
+// 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 IOS_WEB_WEB_STATE_UI_CRW_PROPERTIES_STORE_H_
+#define IOS_WEB_WEB_STATE_UI_CRW_PROPERTIES_STORE_H_
+
+#import <Foundation/Foundation.h>
+
+// An attribute of a property with an Objective-C object type to be preserved.
+typedef NS_ENUM(NSInteger, CRWStoredPropertyAttribute) {
+  // "strong" attribute.
+  CRWStoredPropertyAttributeStrong,
+  // "weak" attribute.
+  CRWStoredPropertyAttributeWeak,
+  // "copy" attribute.
+  CRWStoredPropertyAttributeCopy,
+};
+
+// An object which preserves properties of an underlying object when the
+// underlying object is reassigned.
+//
+// This is useful when:
+//   - A class is a proxy for an underlying object.
+//   - The underlying object can be nil or reassigned during the lifetime of the
+//     wrapper.
+//   - The proxy should preserve a subset of the properties of the underlying
+//     object when the underlying object is reassigned.
+//
+// A caller must call its "register" methods to register properties to be
+// preserved before using it.
+//
+// TODO(crbug.com/1023250): Add a unit test for this class.
+// TODO(crbug.com/1023250): Add more safety checks for this class.
+@interface CRWPropertiesStore : NSObject
+
+// Registers a property with an Objective-C object type to be preserved.
+// |getter| and |setter| are selectors of the getter/setter of the underlying
+// object.
+- (void)registerObjectPropertyWithGetter:(nonnull SEL)getter
+                                  setter:(nonnull SEL)setter
+                               attribute:(CRWStoredPropertyAttribute)attribute;
+
+// Registers a property with a type not an Objective-C object to be preserved.
+// |getter| and |setter| are selectors of the getter/setter of the underlying
+// object. |size| is the byte size of the property type.
+//
+// This should be used e.g., for scalar types (NSInteger, CGFloat, etc.) and C
+// structures (CGRect, CGPoint, etc.).
+- (void)registerNonObjectPropertyWithGetter:(nonnull SEL)getter
+                                     setter:(nonnull SEL)setter
+                                       size:(NSUInteger)size;
+
+// Saves the properties of |object| to the properties store. Should be called
+// against the old underlying object when the underlying object is reassigned.
+- (void)savePropertiesFromObject:(nonnull id)object;
+
+// Loads the properties from the properties store to |object|. Should be called
+// against the new underlying object when the underlying object is reassigned.
+- (void)loadPropertiesToObject:(nonnull id)object;
+
+// Clears values of all the properties in the properties store. This prevents
+// from retaining property values no longer needed. It does not reset
+// registration of properties.
+- (void)clearValues;
+
+// Forwards |invocation| to the properties store.
+//
+// If |invocation| is an invocation of a getter or setter of a registered
+// property, it gets or sets the property in the property store, which is later
+// restored in the underlying object, and returns YES. Otherwise does nothing
+// and returns NO.
+//
+// This should be called in -forwardInvocation: of the wrapper when the
+// underlying object is nil.
+- (BOOL)forwardInvocationToPropertiesStore:(nonnull NSInvocation*)invocation;
+
+@end
+
+#endif  // IOS_WEB_WEB_STATE_UI_CRW_PROPERTIES_STORE_H_
diff --git a/ios/web/web_state/ui/crw_properties_store.mm b/ios/web/web_state/ui/crw_properties_store.mm
new file mode 100644
index 0000000..b912b92
--- /dev/null
+++ b/ios/web/web_state/ui/crw_properties_store.mm
@@ -0,0 +1,346 @@
+// 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.
+
+#import "ios/web/web_state/ui/crw_properties_store.h"
+
+#include "base/logging.h"
+
+#if !defined(__has_feature) || !__has_feature(objc_arc)
+#error "This file requires ARC support."
+#endif
+
+// An abstract base class of storage of a single property in CRWPropertiesStore.
+@interface CRWPropertyStore : NSObject
+
+- (instancetype)initWithGetter:(SEL)getter
+                        setter:(SEL)setter NS_DESIGNATED_INITIALIZER;
+- (instancetype)init NS_UNAVAILABLE;
+
+// The selector of the getter of the property.
+@property(nonatomic, readonly) SEL getter;
+
+// The selector of the setter of the property.
+@property(nonatomic, readonly) SEL setter;
+
+// A pointer to the value with the byte size |size|.
+@property(nonatomic, readonly) const void* valueBytes;
+
+// The byte size of the value type.
+@property(nonatomic, readonly) NSUInteger size;
+
+// YES if the store contains a value.
+@property(nonatomic) BOOL hasValue;
+
+// Sets the value from |bytes|. |bytes| must be a buffer with the byte size
+// |size|. This method copies the content of |bytes|. |bytes| must
+// not be under control of ARC.
+- (void)setValueFromBytes:(const void*)bytes;
+
+// Clears the value. |hasValue| becomes NO after this call.
+- (void)clearValue;
+
+@end
+
+// Storage of a single property with "strong" attribute in CRWPropertiesStore.
+@interface CRWStrongPropertyStore : CRWPropertyStore
+@end
+
+// Storage of a single property with "weak" attribute in CRWPropertiesStore.
+@interface CRWWeakPropertyStore : CRWPropertyStore
+@end
+
+// Storage of a single property with "copy" attribute in CRWPropertiesStore.
+@interface CRWCopyPropertyStore : CRWPropertyStore
+@end
+
+// Storage of a single property with an non object type in CRWPropertiesStore.
+@interface CRWNonObjectPropertyStore : CRWPropertyStore
+
+- (instancetype)initWithGetter:(SEL)getter
+                        setter:(SEL)setter
+                          size:(NSUInteger)size NS_DESIGNATED_INITIALIZER;
+- (instancetype)initWithGetter:(SEL)getter setter:(SEL)setter NS_UNAVAILABLE;
+
+@end
+
+@implementation CRWPropertyStore
+
+@dynamic valueBytes;
+@dynamic size;
+
+- (instancetype)initWithGetter:(SEL)getter setter:(SEL)setter {
+  self = [super init];
+  if (self) {
+    _getter = getter;
+    _setter = setter;
+    _hasValue = NO;
+  }
+  return self;
+}
+
+- (void)setValueFromBytes:(const void*)bytes {
+  NOTIMPLEMENTED() << "A subclass must implement this.";
+}
+
+- (void)clearValue {
+  NOTIMPLEMENTED() << "A subclass must implement this.";
+}
+
+@end
+
+@implementation CRWStrongPropertyStore {
+  id _value;
+}
+
+- (const void*)valueBytes {
+  return &_value;
+}
+
+- (NSUInteger)size {
+  return sizeof(id);
+}
+
+- (void)setValueFromBytes:(const void*)bytes {
+  self.hasValue = YES;
+  // |bytes| is not under control of ARC, so it should be treated as
+  // __unsafe_unretained. ARC automatically retains the object by this
+  // assignment to a strong variable |_value|, so manual retention is not
+  // necessary.
+  _value = *reinterpret_cast<__unsafe_unretained const id*>(bytes);
+}
+
+- (void)clearValue {
+  self.hasValue = NO;
+  _value = nil;
+}
+
+@end
+
+@implementation CRWCopyPropertyStore {
+  id _value;
+}
+
+- (const void*)valueBytes {
+  return &_value;
+}
+
+- (NSUInteger)size {
+  return sizeof(id);
+}
+
+- (void)setValueFromBytes:(const void*)bytes {
+  self.hasValue = YES;
+  // |bytes| is not under control of ARC, so it should be treated as
+  // __unsafe_unretained.
+  _value =
+      [*reinterpret_cast<__unsafe_unretained NSObject* const*>(bytes) copy];
+}
+
+- (void)clearValue {
+  self.hasValue = NO;
+  _value = nil;
+}
+
+@end
+
+@implementation CRWWeakPropertyStore {
+  __weak id _value;
+}
+
+- (const void*)valueBytes {
+  return &_value;
+}
+
+- (NSUInteger)size {
+  return sizeof(id);
+}
+
+- (void)setValueFromBytes:(const void*)bytes {
+  self.hasValue = YES;
+  // |bytes| is not under control of ARC, so it should be treated as
+  // __unsafe_unretained.
+  _value = *reinterpret_cast<__unsafe_unretained const id*>(bytes);
+}
+
+- (void)clearValue {
+  self.hasValue = NO;
+  _value = nil;
+}
+
+@end
+
+@implementation CRWNonObjectPropertyStore {
+  NSMutableData* _valueData;
+}
+
+- (instancetype)initWithGetter:(SEL)getter
+                        setter:(SEL)setter
+                          size:(NSUInteger)size {
+  self = [super initWithGetter:getter setter:setter];
+  if (self) {
+    _valueData = [NSMutableData dataWithLength:size];
+  }
+  return self;
+}
+
+- (const void*)valueBytes {
+  return _valueData.bytes;
+}
+
+- (NSUInteger)size {
+  return _valueData.length;
+}
+
+- (void)setValueFromBytes:(const void*)bytes {
+  self.hasValue = YES;
+  [_valueData replaceBytesInRange:NSMakeRange(0, _valueData.length)
+                        withBytes:bytes];
+}
+
+- (void)clearValue {
+  self.hasValue = NO;
+  [_valueData resetBytesInRange:NSMakeRange(0, _valueData.length)];
+}
+
+@end
+
+@implementation CRWPropertiesStore {
+  // A list of stores for registered properties.
+  NSMutableArray<CRWPropertyStore*>* _propertyStores;
+
+  // A dictionary where:
+  //   - The key is NSValue for SEL of the getter of the property.
+  //   - The value is a store of the property.
+  NSMutableDictionary<NSValue*, CRWPropertyStore*>* _propertyStoreByGetter;
+
+  // A dictionary where:
+  //   - The key is NSValue for SEL of the setter of the property.
+  //   - The value is a store of the property.
+  NSMutableDictionary<NSValue*, CRWPropertyStore*>* _propertyStoreBySetter;
+}
+
+- (instancetype)init {
+  self = [super init];
+  if (self) {
+    _propertyStores = [[NSMutableArray alloc] init];
+    _propertyStoreByGetter = [[NSMutableDictionary alloc] init];
+    _propertyStoreBySetter = [[NSMutableDictionary alloc] init];
+  }
+  return self;
+}
+
+- (void)registerObjectPropertyWithGetter:(SEL)getter
+                                  setter:(SEL)setter
+                               attribute:(CRWStoredPropertyAttribute)attribute {
+  CRWPropertyStore* propertyStore;
+  switch (attribute) {
+    case CRWStoredPropertyAttributeStrong:
+      propertyStore = [[CRWStrongPropertyStore alloc] initWithGetter:getter
+                                                              setter:setter];
+      break;
+    case CRWStoredPropertyAttributeWeak:
+      propertyStore = [[CRWWeakPropertyStore alloc] initWithGetter:getter
+                                                            setter:setter];
+      break;
+    case CRWStoredPropertyAttributeCopy:
+      propertyStore = [[CRWCopyPropertyStore alloc] initWithGetter:getter
+                                                            setter:setter];
+      break;
+  }
+  [self registerPropertyWithStore:propertyStore];
+}
+
+- (void)registerNonObjectPropertyWithGetter:(SEL)getter
+                                     setter:(SEL)setter
+                                       size:(NSUInteger)size {
+  [self registerPropertyWithStore:[[CRWNonObjectPropertyStore alloc]
+                                      initWithGetter:getter
+                                              setter:setter
+                                                size:size]];
+}
+
+- (void)registerPropertyWithStore:(CRWPropertyStore*)store {
+  [_propertyStores addObject:store];
+  _propertyStoreByGetter[[NSValue valueWithPointer:store.getter]] = store;
+  _propertyStoreBySetter[[NSValue valueWithPointer:store.setter]] = store;
+}
+
+- (void)savePropertiesFromObject:(id)object {
+  for (CRWPropertyStore* propertyStore in _propertyStores) {
+    // Invoke the getter against |object|.
+    NSMethodSignature* signature =
+        [object methodSignatureForSelector:propertyStore.getter];
+    NSInvocation* invocation =
+        [NSInvocation invocationWithMethodSignature:signature];
+    invocation.selector = propertyStore.getter;
+    [invocation invokeWithTarget:object];
+
+    // Store the return value in the property store.
+    NSMutableData* data = [NSMutableData dataWithLength:propertyStore.size];
+    [invocation getReturnValue:data.mutableBytes];
+    [propertyStore setValueFromBytes:data.bytes];
+  }
+}
+
+- (void)loadPropertiesToObject:(id)object {
+  for (CRWPropertyStore* propertyStore in _propertyStores) {
+    if (!propertyStore.hasValue) {
+      continue;
+    }
+
+    // Invoke the setter against |object| with the first argument set to the
+    // value in the property store.
+    NSMethodSignature* signature =
+        [object methodSignatureForSelector:propertyStore.setter];
+    NSInvocation* invocation =
+        [NSInvocation invocationWithMethodSignature:signature];
+    invocation.selector = propertyStore.setter;
+    // const_cast is necessary because the first parameter of
+    // -setArgument:atIndex: is somehow typed void* instead of const void*. But
+    // it shouldn't modify its content in reality. The first argument is at
+    // index 2 because the index 0 and 1 are for self and _cmd.
+    [invocation setArgument:const_cast<void*>(propertyStore.valueBytes)
+                    atIndex:2];
+    [invocation invokeWithTarget:object];
+  }
+}
+
+- (void)clearValues {
+  for (CRWPropertyStore* propertyStore in _propertyStores) {
+    [propertyStore clearValue];
+  }
+}
+
+- (BOOL)forwardInvocationToPropertiesStore:(NSInvocation*)invocation {
+  CRWPropertyStore* getterPropertyStore =
+      _propertyStoreByGetter[[NSValue valueWithPointer:invocation.selector]];
+  if (getterPropertyStore) {
+    // This is the getter of a registered property. Return the stored value.
+    // const_cast is necessary because the first parameter of -setReturnVaule:
+    // is somehow typed void* instead of const void*. But it shouldn't modify
+    // its content in reality.
+    [invocation
+        setReturnValue:const_cast<void*>(getterPropertyStore.valueBytes)];
+    return YES;
+  }
+
+  CRWPropertyStore* setterPropertyStore =
+      _propertyStoreBySetter[[NSValue valueWithPointer:invocation.selector]];
+  if (setterPropertyStore) {
+    // This is the setter of a registered property. Retrieve the assigned value,
+    // which is the first argument of the invocation. The first argument is at
+    // index 2 because the index 0 and 1 are for self and _cmd.
+    NSMutableData* data =
+        [NSMutableData dataWithLength:setterPropertyStore.size];
+    [invocation getArgument:data.mutableBytes atIndex:2];
+
+    // Store the assigned value.
+    [setterPropertyStore setValueFromBytes:data.bytes];
+    return YES;
+  }
+
+  return NO;
+}
+
+@end
diff --git a/ios/web/web_state/ui/crw_web_view_scroll_view_proxy+internal.h b/ios/web/web_state/ui/crw_web_view_scroll_view_proxy+internal.h
index aaf1365..c5e0870 100644
--- a/ios/web/web_state/ui/crw_web_view_scroll_view_proxy+internal.h
+++ b/ios/web/web_state/ui/crw_web_view_scroll_view_proxy+internal.h
@@ -18,7 +18,11 @@
     CRBProtocolObservers<CRWWebViewScrollViewProxyObserver>* observers;
 
 // The underlying UIScrollView. It can change or become nil.
-@property(nonatomic, weak, readonly) UIScrollView* underlyingScrollView;
+//
+// This must be a strong reference to ensure that this proxy is aware of the
+// timing when this becomes nil. The proxy needs to save the properties of the
+// underlying scroll view when it happens.
+@property(nonatomic, readonly) UIScrollView* underlyingScrollView;
 
 @end
 
diff --git a/ios/web/web_state/ui/crw_web_view_scroll_view_proxy.mm b/ios/web/web_state/ui/crw_web_view_scroll_view_proxy.mm
index 2ad66aa1..c13d89c 100644
--- a/ios/web/web_state/ui/crw_web_view_scroll_view_proxy.mm
+++ b/ios/web/web_state/ui/crw_web_view_scroll_view_proxy.mm
@@ -5,12 +5,13 @@
 #import "ios/web/web_state/ui/crw_web_view_scroll_view_proxy+internal.h"
 
 #import <objc/runtime.h>
-
 #include <memory>
 
 #include "base/auto_reset.h"
 #import "base/ios/crb_protocol_observers.h"
 #include "base/mac/foundation_util.h"
+#include "ios/web/common/features.h"
+#import "ios/web/web_state/ui/crw_properties_store.h"
 #import "ios/web/web_state/ui/crw_web_view_scroll_view_delegate_proxy.h"
 
 #if !defined(__has_feature) || !__has_feature(objc_arc)
@@ -78,7 +79,7 @@
 @property(nonatomic, strong)
     CRBProtocolObservers<CRWWebViewScrollViewProxyObserver>* observers;
 
-@property(nonatomic, weak) UIScrollView* underlyingScrollView;
+@property(nonatomic, strong) UIScrollView* underlyingScrollView;
 
 // This exists for compatibility with UIScrollView (see -asUIScrollView).
 @property(nonatomic, weak) id<UIScrollViewDelegate> delegate;
@@ -107,6 +108,10 @@
   NSMutableDictionary<NSString*,
                       NSMapTable<id, CRWKeyValueObserverForwarder*>*>*
       _keyValueObserverForwarders;
+
+  // A storage used to preserve values of the scroll view properties on
+  // resetting the underlying scroll view.
+  CRWPropertiesStore* _propertiesStore;
 }
 
 - (instancetype)init {
@@ -119,6 +124,47 @@
     _delegateProxy = [[CRWWebViewScrollViewDelegateProxy alloc]
         initWithScrollViewProxy:self];
     _keyValueObserverForwarders = [[NSMutableDictionary alloc] init];
+
+    if (base::FeatureList::IsEnabled(
+            web::features::kPreserveScrollViewProperties)) {
+      _propertiesStore = [[CRWPropertiesStore alloc] init];
+
+      // A list of properties preserved on resetting the underlying scroll view.
+      //
+      // The underlying scroll view can be nil or can be reassigned. Properties
+      // of the underlying scroll view are usually not preserved when the scroll
+      // view is reassigned. Properties listed here will be preserved i.e.:
+      //   - If the property is assigned while the underlying scroll view is
+      //   nil,
+      //     the assignment is applied when the underlying scroll view is
+      //     assigned.
+      //   - The property is preserved when the underlying scroll view is
+      //     reassigned.
+      //
+      // This list should contain all properties of UIScrollView and its
+      // ancestor classes (not limited to properties explicitly declared in
+      // CRWWebViewScrollViewProxy) which:
+      //   - is a readwrite property
+      //   - AND is supposed to be modified directly, considering it's a scroll
+      //     view of a web view. e.g., |frame| and |subviews| do not meet this
+      //     condition because they are managed by the web view.
+      //
+      // TODO(crbug.com/1023250): Make this list comprehensive.
+      [_propertiesStore
+          registerNonObjectPropertyWithGetter:@selector
+          (isDirectionalLockEnabled)
+                                       setter:@selector
+                                       (setDirectionalLockEnabled:)
+                                         size:sizeof(BOOL)];
+      [_propertiesStore
+          registerObjectPropertyWithGetter:@selector(tintColor)
+                                    setter:@selector(setTintColor:)
+                                 attribute:CRWStoredPropertyAttributeStrong];
+      [_propertiesStore
+          registerObjectPropertyWithGetter:@selector(backgroundColor)
+                                    setter:@selector(setBackgroundColor:)
+                                 attribute:CRWStoredPropertyAttributeCopy];
+    }
   }
   return self;
 }
@@ -146,16 +192,36 @@
 - (void)setScrollView:(UIScrollView*)scrollView {
   if (self.underlyingScrollView == scrollView)
     return;
+
+  // Clean up the delegate/observers of the old scroll view, and save its
+  // properties for later restoration.
   [self.underlyingScrollView setDelegate:nil];
   [self stopObservingScrollView:self.underlyingScrollView];
+  if (base::FeatureList::IsEnabled(
+          web::features::kPreserveScrollViewProperties) &&
+      self.underlyingScrollView) {
+    [_propertiesStore savePropertiesFromObject:self.underlyingScrollView];
+  }
+
+  // Set up the delegate/observers of the new scroll view, and restore its
+  // properties.
   DCHECK(!scrollView.delegate);
   scrollView.delegate = self.delegateProxy;
   [self startObservingScrollView:scrollView];
+  if (base::FeatureList::IsEnabled(
+          web::features::kPreserveScrollViewProperties) &&
+      scrollView) {
+    [_propertiesStore loadPropertiesToObject:scrollView];
+    // Clear the stored values of the properties. This prevents from keeping
+    // retaining old property values.
+    [_propertiesStore clearValues];
+  }
+
   self.underlyingScrollView = scrollView;
+
   if (_storedClipsToBounds) {
     scrollView.clipsToBounds = *_storedClipsToBounds;
   }
-
   // Assigns |contentInsetAdjustmentBehavior| which was set before setting the
   // scroll view.
   if (_storedContentInsetAdjustmentBehavior) {
@@ -352,9 +418,33 @@
 
 - (void)forwardInvocation:(NSInvocation*)invocation {
   // Called when this proxy is accessed through -asUIScrollView and the method
-  // is not implemented in this class. self.underlyingScrollView may be nil, but
-  // it is safe. nil can respond to any invocation (and does nothing).
-  [invocation invokeWithTarget:self.underlyingScrollView];
+  // is not implemented in this class.
+  if (self.underlyingScrollView) {
+    // Forwards the invocation to the undelrying scroll view.
+    [invocation invokeWithTarget:self.underlyingScrollView];
+  } else {
+    BOOL handled = NO;
+    if (base::FeatureList::IsEnabled(
+            web::features::kPreserveScrollViewProperties)) {
+      // Forwards the invocation to the property store. If it is an invocation
+      // of a getter or setter of a preserved property, it gets or sets the
+      // property in the property store, which is later restored in the
+      // underlying scroll view.
+      handled =
+          [_propertiesStore forwardInvocationToPropertiesStore:invocation];
+    }
+
+    // If it is not an invocation of a getter or setter of a preserved property,
+    // do nothing and return a zero value. This must be done explicitly because
+    // it looks not guaranteed to return a zero value if it does nothing here or
+    // call [invocation invokeWithTarget:nil].
+    if (!handled && invocation.methodSignature.methodReturnLength > 0) {
+      // NSMutableData is initialized with zero bytes.
+      NSMutableData* zeroData = [NSMutableData
+          dataWithLength:invocation.methodSignature.methodReturnLength];
+      [invocation setReturnValue:zeroData.mutableBytes];
+    }
+  }
 }
 
 #pragma mark - NSObject
diff --git a/ios/web/web_state/ui/crw_web_view_scroll_view_proxy_unittest.mm b/ios/web/web_state/ui/crw_web_view_scroll_view_proxy_unittest.mm
index 4bde02c..bd88674 100644
--- a/ios/web/web_state/ui/crw_web_view_scroll_view_proxy_unittest.mm
+++ b/ios/web/web_state/ui/crw_web_view_scroll_view_proxy_unittest.mm
@@ -7,6 +7,8 @@
 #import <UIKit/UIKit.h>
 
 #include "base/compiler_specific.h"
+#include "base/test/scoped_feature_list.h"
+#include "ios/web/common/features.h"
 #import "ios/web/web_state/ui/crw_web_view_scroll_view_delegate_proxy.h"
 #include "testing/gtest/include/gtest/gtest.h"
 #include "testing/platform_test.h"
@@ -572,4 +574,99 @@
   EXPECT_OCMOCK_VERIFY(static_cast<id>(observer));
 }
 
+// Verifies that properties registered to |propertiesStore| are preserved if:
+//   - the setter is called when the underlying scroll view is nil
+//   - the getter is called after the underlying scroll view is still nil
+TEST_F(CRWWebViewScrollViewProxyTest,
+       PreservePropertiesWhileUnderlyingScrollViewIsNil) {
+  base::test::ScopedFeatureList scoped_feature_list;
+  scoped_feature_list.InitAndEnableFeature(
+      web::features::kPreserveScrollViewProperties);
+
+  // Recreate CRWWebViewScrollViewProxy with the updated feature flags.
+  web_view_scroll_view_proxy_ = [[CRWWebViewScrollViewProxy alloc] init];
+
+  [web_view_scroll_view_proxy_ setScrollView:nil];
+
+  // A preserved property with a primitive type.
+  [web_view_scroll_view_proxy_ asUIScrollView].directionalLockEnabled = YES;
+  EXPECT_TRUE(
+      [web_view_scroll_view_proxy_ asUIScrollView].directionalLockEnabled);
+  [web_view_scroll_view_proxy_ asUIScrollView].directionalLockEnabled = NO;
+  EXPECT_FALSE(
+      [web_view_scroll_view_proxy_ asUIScrollView].directionalLockEnabled);
+
+  // A preserved property with an object type.
+  [web_view_scroll_view_proxy_ asUIScrollView].tintColor = UIColor.redColor;
+  EXPECT_EQ(UIColor.redColor,
+            [web_view_scroll_view_proxy_ asUIScrollView].tintColor);
+}
+
+// Verifies that properties registered to |propertiesStore| are preserved if:
+//   - the setter is called when the underlying scroll view is nil
+//   - the getter is called after the underlying scroll view is assigned
+TEST_F(CRWWebViewScrollViewProxyTest,
+       PreservePropertiesWhenUnderlyingScrollViewIsNewlyAssigned) {
+  base::test::ScopedFeatureList scoped_feature_list;
+  scoped_feature_list.InitAndEnableFeature(
+      web::features::kPreserveScrollViewProperties);
+
+  // Recreate CRWWebViewScrollViewProxy with the updated feature flags.
+  web_view_scroll_view_proxy_ = [[CRWWebViewScrollViewProxy alloc] init];
+
+  [web_view_scroll_view_proxy_ setScrollView:nil];
+
+  [web_view_scroll_view_proxy_ asUIScrollView].directionalLockEnabled = YES;
+  [web_view_scroll_view_proxy_ asUIScrollView].tintColor = UIColor.redColor;
+
+  UIScrollView* underlying_scroll_view = [[UIScrollView alloc] init];
+  [web_view_scroll_view_proxy_ setScrollView:underlying_scroll_view];
+
+  // The properties are restored on the underlying scroll view.
+  EXPECT_TRUE(underlying_scroll_view.directionalLockEnabled);
+  EXPECT_EQ(UIColor.redColor, underlying_scroll_view.tintColor);
+
+  // The same property values are available via the scroll view proxy as well.
+  EXPECT_TRUE(
+      [web_view_scroll_view_proxy_ asUIScrollView].directionalLockEnabled);
+  EXPECT_EQ(UIColor.redColor,
+            [web_view_scroll_view_proxy_ asUIScrollView].tintColor);
+
+  [web_view_scroll_view_proxy_ setScrollView:nil];
+}
+
+// Verifies that properties registered to |propertiesStore| are preserved if:
+//   - the setter is called when the underlying scroll view is non-nil
+//   - the getter is called after the underlying scroll view is reassigned
+TEST_F(CRWWebViewScrollViewProxyTest,
+       PreservePropertiesWhenUnderlyingScrollViewIsReassigned) {
+  base::test::ScopedFeatureList scoped_feature_list;
+  scoped_feature_list.InitAndEnableFeature(
+      web::features::kPreserveScrollViewProperties);
+
+  // Recreate CRWWebViewScrollViewProxy with the updated feature flags.
+  web_view_scroll_view_proxy_ = [[CRWWebViewScrollViewProxy alloc] init];
+
+  UIScrollView* underlying_scroll_view1 = [[UIScrollView alloc] init];
+  [web_view_scroll_view_proxy_ setScrollView:underlying_scroll_view1];
+
+  [web_view_scroll_view_proxy_ asUIScrollView].directionalLockEnabled = YES;
+  [web_view_scroll_view_proxy_ asUIScrollView].tintColor = UIColor.redColor;
+
+  UIScrollView* underlying_scroll_view2 = [[UIScrollView alloc] init];
+  [web_view_scroll_view_proxy_ setScrollView:underlying_scroll_view2];
+
+  // The properties are restored on the underlying scroll view.
+  EXPECT_TRUE(underlying_scroll_view2.directionalLockEnabled);
+  EXPECT_EQ(UIColor.redColor, underlying_scroll_view2.tintColor);
+
+  // The same property values are available via the scroll view proxy as well.
+  EXPECT_TRUE(
+      [web_view_scroll_view_proxy_ asUIScrollView].directionalLockEnabled);
+  EXPECT_EQ(UIColor.redColor,
+            [web_view_scroll_view_proxy_ asUIScrollView].tintColor);
+
+  [web_view_scroll_view_proxy_ setScrollView:nil];
+}
+
 }  // namespace
diff --git a/media/audio/cras/cras_input.cc b/media/audio/cras/cras_input.cc
index 954fc2ad..44a59c2c 100644
--- a/media/audio/cras/cras_input.cc
+++ b/media/audio/cras/cras_input.cc
@@ -186,9 +186,12 @@
     return;
   }
 
+  CRAS_STREAM_TYPE type = CRAS_STREAM_TYPE_DEFAULT;
   uint32_t flags = 0;
-  if (params_.effects() & AudioParameters::PlatformEffectsMask::HOTWORD)
+  if (params_.effects() & AudioParameters::PlatformEffectsMask::HOTWORD) {
     flags = HOTWORD_STREAM;
+    type = CRAS_STREAM_TYPE_SPEECH_RECOGNITION;
+  }
 
   unsigned int frames_per_packet = params_.frames_per_buffer();
   cras_stream_params* stream_params = cras_client_stream_params_create(
@@ -196,12 +199,8 @@
       frames_per_packet,  // Total latency.
       frames_per_packet,  // Call back when this many ready.
       frames_per_packet,  // Minimum Callback level ignored for capture streams.
-      CRAS_STREAM_TYPE_DEFAULT,
-      flags,
-      this,
-      CrasInputStream::SamplesReady,
-      CrasInputStream::StreamError,
-      audio_format);
+      type, flags, this, CrasInputStream::SamplesReady,
+      CrasInputStream::StreamError, audio_format);
   if (!stream_params) {
     DLOG(WARNING) << "Error setting up stream parameters.";
     callback_->OnError();
diff --git a/media/blink/key_system_config_selector.cc b/media/blink/key_system_config_selector.cc
index 6a98a4f1..e4cd8d1 100644
--- a/media/blink/key_system_config_selector.cc
+++ b/media/blink/key_system_config_selector.cc
@@ -368,9 +368,10 @@
     const std::string& key_system,
     const EmeEncryptionScheme encryption_scheme) {
   switch (encryption_scheme) {
-    // https://github.com/WICG/encrypted-media-encryption-scheme/blob/master/explainer.md
-    // "A missing or null value indicates that any encryption scheme is
-    // acceptable."
+    // https://w3c.github.io/encrypted-media/#dom-mediakeysystemmediacapability-encryptionscheme
+    // "A value which is null or not present indicates to the user agent that
+    // no specific encryption scheme is required by the application, and
+    // therefore any encryption scheme is acceptable."
     // To fully implement this, we need to get the config rules for both kCenc
     // and kCbcs, which could be conflicting, and choose a final config rule
     // somehow. If we end up choosing the rule for kCbcs, we could actually
@@ -381,8 +382,16 @@
       return key_systems_->GetEncryptionSchemeConfigRule(
           key_system, EncryptionScheme::kCenc);
     case EmeEncryptionScheme::kCbcs:
+    case EmeEncryptionScheme::kCbcs_1_9:
       return key_systems_->GetEncryptionSchemeConfigRule(
           key_system, EncryptionScheme::kCbcs);
+    case EmeEncryptionScheme::kUnrecognized:
+      // https://w3c.github.io/encrypted-media/#get-supported-capabilities-for-audio-video-type
+      // "If encryption scheme is non-null and is not recognized or not
+      // supported by implementation, continue to the next iteration."
+      // The value provided was an empty string or some other value that is
+      // not recognized, so treat it as a scheme that is not supported.
+      return EmeConfigRule::NOT_SUPPORTED;
   }
 
   NOTREACHED();
diff --git a/media/blink/key_system_config_selector_unittest.cc b/media/blink/key_system_config_selector_unittest.cc
index f484498..8fbf9160 100644
--- a/media/blink/key_system_config_selector_unittest.cc
+++ b/media/blink/key_system_config_selector_unittest.cc
@@ -84,7 +84,11 @@
     case EncryptionScheme::kCenc:
       return media::EncryptionScheme::kCenc;
     case EncryptionScheme::kCbcs:
+    case EncryptionScheme::kCbcs_1_9:
       return media::EncryptionScheme::kCbcs;
+    case EncryptionScheme::kUnrecognized:
+      // Not used in these tests.
+      break;
   }
 
   NOTREACHED();
diff --git a/media/cast/BUILD.gn b/media/cast/BUILD.gn
index a2dd7845..a915bac 100644
--- a/media/cast/BUILD.gn
+++ b/media/cast/BUILD.gn
@@ -10,9 +10,7 @@
 import("//third_party/protobuf/proto_library.gni")
 
 proto_library("logging_proto") {
-  sources = [
-    "logging/proto/raw_events.proto",
-  ]
+  sources = [ "logging/proto/raw_events.proto" ]
 }
 
 # Common code shared by all cast components.
@@ -120,9 +118,7 @@
     "//net",
   ]
 
-  public_deps = [
-    ":common",
-  ]
+  public_deps = [ ":common" ]
 }
 
 jumbo_source_set("sender") {
@@ -391,9 +387,7 @@
 
   test("cast_benchmarks") {
     testonly = true
-    sources = [
-      "test/cast_benchmarks.cc",
-    ]
+    sources = [ "test/cast_benchmarks.cc" ]
     deps = [
       ":common",
       ":net",
@@ -411,9 +405,7 @@
 
   executable("cast_receiver_app") {
     testonly = true
-    sources = [
-      "test/receiver.cc",
-    ]
+    sources = [ "test/receiver.cc" ]
     deps = [
       ":common",
       ":net",
@@ -441,9 +433,7 @@
 
   executable("cast_sender_app") {
     testonly = true
-    sources = [
-      "test/sender.cc",
-    ]
+    sources = [ "test/sender.cc" ]
     deps = [
       ":common",
       ":net",
@@ -457,16 +447,12 @@
 
   proto_library("network_simulation_model_proto") {
     visibility = [ ":cast_simulator" ]
-    sources = [
-      "test/proto/network_simulation_model.proto",
-    ]
+    sources = [ "test/proto/network_simulation_model.proto" ]
   }
 
   executable("cast_simulator") {
     testonly = true
-    sources = [
-      "test/simulator.cc",
-    ]
+    sources = [ "test/simulator.cc" ]
     deps = [
       ":common",
       ":net",
@@ -483,9 +469,7 @@
 
   executable("generate_barcode_video") {
     testonly = true
-    sources = [
-      "test/utility/generate_barcode_video.cc",
-    ]
+    sources = [ "test/utility/generate_barcode_video.cc" ]
     deps = [
       ":test_support",
       "//base",
@@ -496,9 +480,7 @@
 
   executable("generate_timecode_audio") {
     testonly = true
-    sources = [
-      "test/utility/generate_timecode_audio.cc",
-    ]
+    sources = [ "test/utility/generate_timecode_audio.cc" ]
     deps = [
       ":test_support",
       "//base",
@@ -509,9 +491,7 @@
 
   executable("udp_proxy") {
     testonly = true
-    sources = [
-      "test/utility/udp_proxy_main.cc",
-    ]
+    sources = [ "test/utility/udp_proxy_main.cc" ]
     deps = [
       ":test_support",
       "//base",
@@ -527,9 +507,7 @@
 
 if (is_linux && !is_chromeos) {
   test("tap_proxy") {
-    sources = [
-      "test/utility/tap_proxy.cc",
-    ]
+    sources = [ "test/utility/tap_proxy.cc" ]
 
     deps = [
       ":test_support",
@@ -548,15 +526,11 @@
 static_library("cast_sender") {
   complete_static_lib = true
   configs -= [ "//build/config/compiler:thin_archive" ]
-  deps = [
-    ":sender",
-  ]
+  deps = [ ":sender" ]
 }
 
 static_library("cast_receiver") {
   complete_static_lib = true
   configs -= [ "//build/config/compiler:thin_archive" ]
-  deps = [
-    ":receiver",
-  ]
+  deps = [ ":receiver" ]
 }
diff --git a/media/cast/test/proto/BUILD.gn b/media/cast/test/proto/BUILD.gn
index 53ba0e2..82541404 100644
--- a/media/cast/test/proto/BUILD.gn
+++ b/media/cast/test/proto/BUILD.gn
@@ -5,15 +5,11 @@
 import("//third_party/protobuf/proto_library.gni")
 
 source_set("proto") {
-  public_deps = [
-    ":cast_network_simulation_proto",
-  ]
+  public_deps = [ ":cast_network_simulation_proto" ]
   public_configs = [ "//third_party/protobuf:protobuf_config" ]
 }
 
 proto_library("cast_network_simulation_proto") {
   visibility = [ ":proto" ]
-  sources = [
-    "network_simulation_model.proto",
-  ]
+  sources = [ "network_simulation_model.proto" ]
 }
diff --git a/media/gpu/test/video_frame_helpers.cc b/media/gpu/test/video_frame_helpers.cc
index dfba32ca..3125b48 100644
--- a/media/gpu/test/video_frame_helpers.cc
+++ b/media/gpu/test/video_frame_helpers.cc
@@ -164,8 +164,8 @@
                         false);
   for (size_t i = 0; i < num_planes; ++i) {
     // |width| in libyuv::CopyPlane() is in bytes, not pixels.
-    gfx::Size plane_size = VideoFrame::PlaneSize(dst_frame->format(), i,
-                                                 dst_frame->natural_size());
+    gfx::Size plane_size =
+        VideoFrame::PlaneSize(dst_frame->format(), i, dst_frame->coded_size());
     libyuv::CopyPlane(
         src_frame->data(i), src_frame->layout().planes()[i].stride,
         dst_frame->data(i), dst_frame->layout().planes()[i].stride,
diff --git a/media/renderers/paint_canvas_video_renderer.cc b/media/renderers/paint_canvas_video_renderer.cc
index 9c62c6e..0d53378 100644
--- a/media/renderers/paint_canvas_video_renderer.cc
+++ b/media/renderers/paint_canvas_video_renderer.cc
@@ -470,7 +470,7 @@
   int height = video_frame->visible_rect().height();
 
   base::CheckedNumeric<size_t> chunks = height / rows_per_chunk;
-  DCHECK_EQ(height % rows_per_chunk, 0UL);
+  DCHECK_LE(height % rows_per_chunk, 1UL);
   size_t chunk_start = (chunks * task_index / n_tasks).ValueOrDie();
   size_t chunk_end = (chunks * (task_index + 1) / n_tasks).ValueOrDie();
 
diff --git a/services/device/nfc/README.md b/services/device/nfc/README.md
index 7d4433f..dc537ef 100644
--- a/services/device/nfc/README.md
+++ b/services/device/nfc/README.md
@@ -12,11 +12,11 @@
 
 NDEFWriter and NDEFReader are the two primary interfaces of the Web NFC APIs.
 
-The NDEFWriter interface has the push method for writing data to NFC devices such as
-tags. This method will return a promise, which will be resolved when the
+The NDEFWriter interface has the write method for writing data to NFC tags.
+This method will return a promise, which will be resolved when the
 message is successfully written to a NFC tag or be rejected when errors
 happened or the process is aborted by setting the AbortSignal in the
-NDEFPushOptions.
+NDEFWriteOptions.
 
 The NDEFReader interface has the scan method to try to read data from any NFC tag
 that comes within proximity. Once there is some data found to be matching the
diff --git a/services/device/nfc/android/java/src/org/chromium/device/nfc/NfcImpl.java b/services/device/nfc/android/java/src/org/chromium/device/nfc/NfcImpl.java
index 3ab1024..3ed6f98c 100644
--- a/services/device/nfc/android/java/src/org/chromium/device/nfc/NfcImpl.java
+++ b/services/device/nfc/android/java/src/org/chromium/device/nfc/NfcImpl.java
@@ -26,10 +26,10 @@
 import org.chromium.device.mojom.NdefError;
 import org.chromium.device.mojom.NdefErrorType;
 import org.chromium.device.mojom.NdefMessage;
-import org.chromium.device.mojom.NdefPushOptions;
 import org.chromium.device.mojom.NdefRecord;
 import org.chromium.device.mojom.NdefRecordTypeCategory;
 import org.chromium.device.mojom.NdefScanOptions;
+import org.chromium.device.mojom.NdefWriteOptions;
 import org.chromium.device.mojom.Nfc;
 import org.chromium.device.mojom.NfcClient;
 import org.chromium.mojo.bindings.Callbacks;
@@ -78,7 +78,7 @@
 
     /**
      * Object that contains data that was passed to method
-     * #push(NdefMessage message, NdefPushOptions options, PushResponse callback)
+     * #push(NdefMessage message, NdefWriteOptions options, PushResponse callback)
      * @see PendingPushOperation
      */
     private PendingPushOperation mPendingPushOperation;
@@ -177,7 +177,7 @@
      * @param callback that is used to notify when push operation is completed.
      */
     @Override
-    public void push(NdefMessage message, NdefPushOptions options, PushResponse callback) {
+    public void push(NdefMessage message, NdefWriteOptions options, PushResponse callback) {
         if (!checkIfReady(callback)) return;
 
         if (!NdefMessageValidator.isValid(message)) {
@@ -315,13 +315,13 @@
      */
     private static class PendingPushOperation {
         public final NdefMessage ndefMessage;
-        public final NdefPushOptions ndefPushOptions;
+        public final NdefWriteOptions ndefWriteOptions;
         private final PushResponse mPushResponseCallback;
 
         public PendingPushOperation(
-                NdefMessage message, NdefPushOptions options, PushResponse callback) {
+                NdefMessage message, NdefWriteOptions options, PushResponse callback) {
             ndefMessage = message;
-            ndefPushOptions = options;
+            ndefWriteOptions = options;
             mPushResponseCallback = callback;
         }
 
@@ -514,7 +514,7 @@
         if (mTagHandler == null || mClient == null || mWatchers.size() == 0) return;
 
         // Skip reading if there is a pending push operation and ignoreRead flag is set.
-        if (mPendingPushOperation != null && mPendingPushOperation.ndefPushOptions.ignoreRead) {
+        if (mPendingPushOperation != null && mPendingPushOperation.ndefWriteOptions.ignoreRead) {
             return;
         }
 
diff --git a/services/device/nfc/android/junit/src/org/chromium/device/nfc/NFCTest.java b/services/device/nfc/android/junit/src/org/chromium/device/nfc/NFCTest.java
index b0c0b9f..c09719a 100644
--- a/services/device/nfc/android/junit/src/org/chromium/device/nfc/NFCTest.java
+++ b/services/device/nfc/android/junit/src/org/chromium/device/nfc/NFCTest.java
@@ -45,10 +45,10 @@
 import org.chromium.device.mojom.NdefError;
 import org.chromium.device.mojom.NdefErrorType;
 import org.chromium.device.mojom.NdefMessage;
-import org.chromium.device.mojom.NdefPushOptions;
 import org.chromium.device.mojom.NdefRecord;
 import org.chromium.device.mojom.NdefRecordTypeCategory;
 import org.chromium.device.mojom.NdefScanOptions;
+import org.chromium.device.mojom.NdefWriteOptions;
 import org.chromium.device.mojom.Nfc.CancelAllWatchesResponse;
 import org.chromium.device.mojom.Nfc.CancelPushResponse;
 import org.chromium.device.mojom.Nfc.CancelWatchResponse;
@@ -664,7 +664,7 @@
         TestNfcImpl nfc = new TestNfcImpl(mContext, mDelegate);
         mDelegate.invokeCallback();
         PushResponse mockCallback = mock(PushResponse.class);
-        nfc.push(new NdefMessage(), createNdefPushOptions(), mockCallback);
+        nfc.push(new NdefMessage(), createNdefWriteOptions(), mockCallback);
         nfc.processPendingOperationsForTesting(mNfcTagHandler);
         verify(mockCallback).call(mErrorCaptor.capture());
         assertEquals(NdefErrorType.INVALID_MESSAGE, mErrorCaptor.getValue().errorType);
@@ -714,7 +714,7 @@
         TestNfcImpl nfc = new TestNfcImpl(mContext, mDelegate);
         mDelegate.invokeCallback();
         PushResponse mockCallback = mock(PushResponse.class);
-        nfc.push(createMojoNdefMessage(), createNdefPushOptions(), mockCallback);
+        nfc.push(createMojoNdefMessage(), createNdefWriteOptions(), mockCallback);
         nfc.processPendingOperationsForTesting(mNfcTagHandler);
         verify(mockCallback).call(mErrorCaptor.capture());
         assertNull(mErrorCaptor.getValue());
@@ -730,7 +730,7 @@
         mDelegate.invokeCallback();
         PushResponse mockPushCallback = mock(PushResponse.class);
         CancelPushResponse mockCancelPushCallback = mock(CancelPushResponse.class);
-        nfc.push(createMojoNdefMessage(), createNdefPushOptions(), mockPushCallback);
+        nfc.push(createMojoNdefMessage(), createNdefWriteOptions(), mockPushCallback);
         nfc.cancelPush(mockCancelPushCallback);
 
         // Check that push request was cancelled with OPERATION_CANCELLED.
@@ -1030,7 +1030,7 @@
         nfc.watch(createNdefScanOptions(), mNextWatchId, mockWatchCallback);
         // Start a push.
         PushResponse mockCallback = mock(PushResponse.class);
-        nfc.push(createMojoNdefMessage(), createNdefPushOptions(), mockCallback);
+        nfc.push(createMojoNdefMessage(), createNdefWriteOptions(), mockCallback);
 
         // Pass null tag handler to simulate that the tag is not NDEF compatible.
         nfc.processPendingOperationsForTesting(null);
@@ -1113,7 +1113,7 @@
         doThrow(IllegalStateException.class)
                 .when(mNfcTagHandler)
                 .write(any(android.nfc.NdefMessage.class));
-        nfc.push(createMojoNdefMessage(), createNdefPushOptions(), mockCallback);
+        nfc.push(createMojoNdefMessage(), createNdefWriteOptions(), mockCallback);
         nfc.processPendingOperationsForTesting(mNfcTagHandler);
         verify(mockCallback).call(mErrorCaptor.capture());
 
@@ -1133,8 +1133,8 @@
 
         PushResponse mockCallback1 = mock(PushResponse.class);
         PushResponse mockCallback2 = mock(PushResponse.class);
-        nfc.push(createMojoNdefMessage(), createNdefPushOptions(), mockCallback1);
-        nfc.push(createMojoNdefMessage(), createNdefPushOptions(), mockCallback2);
+        nfc.push(createMojoNdefMessage(), createNdefWriteOptions(), mockCallback1);
+        nfc.push(createMojoNdefMessage(), createNdefWriteOptions(), mockCallback2);
 
         verify(mNfcAdapter, times(1))
                 .enableReaderMode(any(Activity.class), any(ReaderCallback.class), anyInt(),
@@ -1156,7 +1156,7 @@
         mDelegate.invokeCallback();
         PushResponse mockCallback = mock(PushResponse.class);
 
-        nfc.push(createMojoNdefMessage(), createNdefPushOptions(), mockCallback);
+        nfc.push(createMojoNdefMessage(), createNdefWriteOptions(), mockCallback);
 
         verify(mNfcAdapter, times(1))
                 .enableReaderMode(any(Activity.class), any(ReaderCallback.class), anyInt(),
@@ -1186,8 +1186,8 @@
 
         PushResponse mockCallback1 = mock(PushResponse.class);
         PushResponse mockCallback2 = mock(PushResponse.class);
-        nfc.push(createMojoNdefMessage(), createNdefPushOptions(), mockCallback1);
-        nfc.push(createMojoNdefMessage(), createNdefPushOptions(), mockCallback2);
+        nfc.push(createMojoNdefMessage(), createNdefWriteOptions(), mockCallback1);
+        nfc.push(createMojoNdefMessage(), createNdefWriteOptions(), mockCallback2);
 
         verify(mNfcAdapter, times(1))
                 .enableReaderMode(any(Activity.class), any(ReaderCallback.class), anyInt(),
@@ -1224,7 +1224,7 @@
         nfc.watch(createNdefScanOptions(), mNextWatchId, mockWatchCallback);
 
         PushResponse mockPushCallback = mock(PushResponse.class);
-        nfc.push(createMojoNdefMessage(), createNdefPushOptions(), mockPushCallback);
+        nfc.push(createMojoNdefMessage(), createNdefWriteOptions(), mockPushCallback);
 
         verify(mNfcAdapter, times(1))
                 .enableReaderMode(any(Activity.class), any(ReaderCallback.class), anyInt(),
@@ -1267,17 +1267,17 @@
         emptyNdefRecord.recordType = NdefMessageUtils.RECORD_TYPE_EMPTY;
         NdefMessage ndefMessage = createMojoNdefMessage(emptyNdefRecord);
 
-        nfc.push(ndefMessage, createNdefPushOptions(), mockCallback);
+        nfc.push(ndefMessage, createNdefWriteOptions(), mockCallback);
         nfc.processPendingOperationsForTesting(mNfcTagHandler);
         verify(mockCallback).call(mErrorCaptor.capture());
         assertNull(mErrorCaptor.getValue());
     }
 
     /**
-     * Creates NdefPushOptions with default values.
+     * Creates NdefWriteOptions with default values.
      */
-    private NdefPushOptions createNdefPushOptions() {
-        NdefPushOptions pushOptions = new NdefPushOptions();
+    private NdefWriteOptions createNdefWriteOptions() {
+        NdefWriteOptions pushOptions = new NdefWriteOptions();
         pushOptions.ignoreRead = false;
         return pushOptions;
     }
diff --git a/services/device/public/mojom/nfc.mojom b/services/device/public/mojom/nfc.mojom
index 214fd498..87485b4 100644
--- a/services/device/public/mojom/nfc.mojom
+++ b/services/device/public/mojom/nfc.mojom
@@ -87,8 +87,8 @@
   const uint32 kMaxSize = 32768;
 };
 
-struct NDEFPushOptions {
-  // If the property is true, the push operation will suspend active watchers
+struct NDEFWriteOptions {
+  // If the property is true, the write operation will suspend active watchers
   // until its completion.
   bool ignore_read;
 };
@@ -113,8 +113,8 @@
   SetClient(pending_remote<NFCClient> client);
 
   // Pushes data to NFC device.
-  // NDEFPushOptions specify type of device where data should be pushed.
-  Push(NDEFMessage message, NDEFPushOptions? options) => (NDEFError? error);
+  // NDEFWriteOptions specify options of the pending push operation.
+  Push(NDEFMessage message, NDEFWriteOptions? options) => (NDEFError? error);
 
   // Cancels pending push request.
   CancelPush() => (NDEFError? error);
diff --git a/testing/variations/fieldtrial_testing_config.json b/testing/variations/fieldtrial_testing_config.json
index e2eb7c5..a761129c 100644
--- a/testing/variations/fieldtrial_testing_config.json
+++ b/testing/variations/fieldtrial_testing_config.json
@@ -1857,6 +1857,25 @@
             ]
         }
     ],
+    "CrOSMinFilelistKb": [
+        {
+            "platforms": [
+                "chromeos"
+            ],
+            "experiments": [
+                {
+                    "name": "MinFilelist0MbLockedBrowserText",
+                    "params": {
+                        "CrOSMinFilelistMb": "0"
+                    },
+                    "enable_features": [
+                        "CrOSHugepageRemapAndLockInZygote",
+                        "CrOSTuneMinFilelist"
+                    ]
+                }
+            ]
+        }
+    ],
     "CrOSSystemAECDeactivatedGroups": [
         {
             "platforms": [
@@ -2093,7 +2112,7 @@
                     "name": "EnabledNTP79",
                     "params": {
                         "en_site_id": "ty52vxwjrabfvhusawtrmkmx6m",
-                        "probability": "0.2",
+                        "probability": "0.4",
                         "survey": "satisfaction"
                     },
                     "enable_features": [
@@ -4370,21 +4389,6 @@
             ]
         }
     ],
-    "OverlayNewLayout": [
-        {
-            "platforms": [
-                "android"
-            ],
-            "experiments": [
-                {
-                    "name": "OverlayNewLayout",
-                    "enable_features": [
-                        "OverlayNewLayout"
-                    ]
-                }
-            ]
-        }
-    ],
     "OzoneDrmMojo": [
         {
             "platforms": [
diff --git a/third_party/blink/common/features.cc b/third_party/blink/common/features.cc
index c668600..4c13dd8a 100644
--- a/third_party/blink/common/features.cc
+++ b/third_party/blink/common/features.cc
@@ -411,16 +411,6 @@
 const base::Feature kSetLowPriorityForBeacon{"SetLowPriorityForBeacon",
                                              base::FEATURE_DISABLED_BY_DEFAULT};
 
-// When enabled, JS function calls in a detached window will be reported.
-// Reporting has a non-zero probability of a performance impact, hence an easy
-// way to disable it may come in handy.
-const base::Feature kSetDetachedWindowReasonByNavigation{
-    "SetDetachedWindowReasonByNavigation", base::FEATURE_ENABLED_BY_DEFAULT};
-const base::Feature kSetDetachedWindowReasonByClosing{
-    "SetDetachedWindowReasonByClosing", base::FEATURE_ENABLED_BY_DEFAULT};
-const base::Feature kSetDetachedWindowReasonByOtherReason{
-    "SetDetachedWindowReasonByOtherReason", base::FEATURE_ENABLED_BY_DEFAULT};
-
 // When enabled allows the header name used in the blink
 // CacheStorageCodeCacheHint runtime feature to be modified.  This runtime
 // feature disables generating full code cache for responses stored in
diff --git a/third_party/blink/public/common/features.h b/third_party/blink/public/common/features.h
index a9858ed..f10747b7 100644
--- a/third_party/blink/public/common/features.h
+++ b/third_party/blink/public/common/features.h
@@ -133,13 +133,6 @@
 
 BLINK_COMMON_EXPORT extern const base::Feature kSetLowPriorityForBeacon;
 
-BLINK_COMMON_EXPORT extern const base::Feature
-    kSetDetachedWindowReasonByNavigation;
-BLINK_COMMON_EXPORT extern const base::Feature
-    kSetDetachedWindowReasonByClosing;
-BLINK_COMMON_EXPORT extern const base::Feature
-    kSetDetachedWindowReasonByOtherReason;
-
 BLINK_COMMON_EXPORT extern const base::Feature kCacheStorageCodeCacheHintHeader;
 BLINK_COMMON_EXPORT extern const base::FeatureParam<std::string>
     kCacheStorageCodeCacheHintHeaderName;
diff --git a/third_party/blink/public/common/oom_intervention/oom_intervention_types.h b/third_party/blink/public/common/oom_intervention/oom_intervention_types.h
index 6493c4ad..8cdb7f8 100644
--- a/third_party/blink/public/common/oom_intervention/oom_intervention_types.h
+++ b/third_party/blink/public/common/oom_intervention/oom_intervention_types.h
@@ -16,17 +16,17 @@
 // the arm64 and renderer in the arm32.
 
 struct OomInterventionMetrics {
-  uint64_t current_private_footprint_kb;
-  uint64_t current_swap_kb;
-  uint64_t current_vm_size_kb;
+  uint64_t current_private_footprint_kb = 0;
+  uint64_t current_swap_kb = 0;
+  uint64_t current_vm_size_kb = 0;
 
   // Stores the total of V8, BlinkGC and PartitionAlloc memory usage.
-  uint64_t current_blink_usage_kb;
+  uint64_t current_blink_usage_kb = 0;
 
   // Indicates whether the crash was because of virtual address space OOM.
   // This holds only 0 or 1 as a value but because of the reason stated above,
   // uses uint64_t instead of boolean.
-  uint64_t allocation_failed;
+  uint64_t allocation_failed = 0;
 };
 
 }  // namespace blink
diff --git a/third_party/blink/public/mojom/BUILD.gn b/third_party/blink/public/mojom/BUILD.gn
index 88cae84..3704ae08 100644
--- a/third_party/blink/public/mojom/BUILD.gn
+++ b/third_party/blink/public/mojom/BUILD.gn
@@ -154,6 +154,7 @@
     "worker/subresource_loader_updater.mojom",
     "worker/worker_content_settings_proxy.mojom",
     "worker/worker_main_script_load_params.mojom",
+    "worker/worker_options.mojom",
   ]
 
   if (!is_android) {
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 ed89ed4f..e6b712d 100644
--- a/third_party/blink/public/mojom/web_feature/web_feature.mojom
+++ b/third_party/blink/public/mojom/web_feature/web_feature.mojom
@@ -2461,7 +2461,7 @@
   kRegisterProtocolHandlerSameOriginAsTop = 3092,
   kRegisterProtocolHandlerCrossOriginSubframe = 3093,
   kWebNfcNdefReaderScan = 3094,
-  kWebNfcNdefWriterPush = 3095,
+  kWebNfcNdefWriterWrite = 3095,
   kHTMLPortalElement = 3096,
   kV8HTMLPortalElement_Activate_Method = 3097,
   kV8HTMLPortalElement_PostMessage_Method = 3098,
diff --git a/third_party/blink/public/mojom/worker/shared_worker_info.mojom b/third_party/blink/public/mojom/worker/shared_worker_info.mojom
index fdaecac4..2468ecdd 100644
--- a/third_party/blink/public/mojom/worker/shared_worker_info.mojom
+++ b/third_party/blink/public/mojom/worker/shared_worker_info.mojom
@@ -6,6 +6,7 @@
 
 import "services/network/public/mojom/content_security_policy.mojom";
 import "services/network/public/mojom/ip_address_space.mojom";
+import "third_party/blink/public/mojom/worker/worker_options.mojom";
 import "url/mojom/url.mojom";
 
 // Meta data that is necessary to create a new shared worker context. This
@@ -14,7 +15,7 @@
 // process where the shared worker runs.
 struct SharedWorkerInfo {
   url.mojom.Url url;
-  string name;
+  WorkerOptions options;
   string content_security_policy;
   network.mojom.ContentSecurityPolicyType content_security_policy_type;
   network.mojom.IPAddressSpace creation_address_space;
diff --git a/third_party/blink/public/mojom/worker/worker_options.mojom b/third_party/blink/public/mojom/worker/worker_options.mojom
new file mode 100644
index 0000000..0ca15ee
--- /dev/null
+++ b/third_party/blink/public/mojom/worker/worker_options.mojom
@@ -0,0 +1,13 @@
+// Copyright 2020 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.
+
+module blink.mojom;
+
+// Used for constructing shared workers
+// TODO(https://crbug.com/824646): ScriptType and
+// network.mojom.CredentialsMode should be added to WorkerOptions
+// https://html.spec.whatwg.org/multipage/workers.html#workeroptions
+struct WorkerOptions {
+  string name = "";
+};
diff --git a/third_party/blink/public/platform/web_media_key_system_media_capability.h b/third_party/blink/public/platform/web_media_key_system_media_capability.h
index aa4bc93..cb22e3e 100644
--- a/third_party/blink/public/platform/web_media_key_system_media_capability.h
+++ b/third_party/blink/public/platform/web_media_key_system_media_capability.h
@@ -14,6 +14,8 @@
     kNotSpecified,
     kCenc,
     kCbcs,
+    kCbcs_1_9,  // CBCS with a specific encrypt:skip pattern of 1:9.
+    kUnrecognized
   };
 
   WebMediaKeySystemMediaCapability() = default;
diff --git a/third_party/blink/renderer/bindings/bindings.gni b/third_party/blink/renderer/bindings/bindings.gni
index 41c19819..43ab8b16 100644
--- a/third_party/blink/renderer/bindings/bindings.gni
+++ b/third_party/blink/renderer/bindings/bindings.gni
@@ -93,8 +93,6 @@
                     "core/v8/script_promise.cc",
                     "core/v8/script_promise.h",
                     "core/v8/script_promise_property.h",
-                    "core/v8/script_promise_property_base.cc",
-                    "core/v8/script_promise_property_base.h",
                     "core/v8/script_promise_resolver.cc",
                     "core/v8/script_promise_resolver.h",
                     "core/v8/script_regexp.cc",
diff --git a/third_party/blink/renderer/bindings/core/v8/local_window_proxy.cc b/third_party/blink/renderer/bindings/core/v8/local_window_proxy.cc
index 9b232f2..c845acb 100644
--- a/third_party/blink/renderer/bindings/core/v8/local_window_proxy.cc
+++ b/third_party/blink/renderer/bindings/core/v8/local_window_proxy.cc
@@ -31,7 +31,6 @@
 #include "third_party/blink/renderer/bindings/core/v8/local_window_proxy.h"
 
 #include "base/debug/dump_without_crashing.h"
-#include "third_party/blink/public/common/features.h"
 #include "third_party/blink/renderer/bindings/core/v8/isolated_world_csp.h"
 #include "third_party/blink/renderer/bindings/core/v8/script_controller.h"
 #include "third_party/blink/renderer/bindings/core/v8/to_v8_for_core.h"
@@ -80,29 +79,8 @@
   WindowProxy::Trace(visitor);
 }
 
-bool LocalWindowProxy::IsSetDetachedWindowReasonEnabled(
-    v8::Context::DetachedWindowReason reason) {
-  switch (reason) {
-    case v8::Context::DetachedWindowReason::kWindowNotDetached:
-      // This shouldn't happen, but if it does, it's always safe to clear the
-      // reason.
-      return true;
-    case v8::Context::DetachedWindowReason::kDetachedWindowByNavigation:
-      return base::FeatureList::IsEnabled(
-          features::kSetDetachedWindowReasonByNavigation);
-    case v8::Context::DetachedWindowReason::kDetachedWindowByClosing:
-      return base::FeatureList::IsEnabled(
-          features::kSetDetachedWindowReasonByClosing);
-    case v8::Context::DetachedWindowReason::kDetachedWindowByOtherReason:
-      return base::FeatureList::IsEnabled(
-          features::kSetDetachedWindowReasonByOtherReason);
-  }
-}
-
-void LocalWindowProxy::DisposeContext(
-    Lifecycle next_status,
-    FrameReuseStatus frame_reuse_status,
-    v8::Context::DetachedWindowReason reason) {
+void LocalWindowProxy::DisposeContext(Lifecycle next_status,
+                                      FrameReuseStatus frame_reuse_status) {
   DCHECK(next_status == Lifecycle::kV8MemoryIsForciblyPurged ||
          next_status == Lifecycle::kGlobalObjectIsDetached ||
          next_status == Lifecycle::kFrameIsDetached ||
@@ -149,10 +127,6 @@
 #endif
   }
 
-  if (IsSetDetachedWindowReasonEnabled(reason)) {
-    context->SetDetachedWindowReason(reason);
-  }
-
   script_state_->DisposePerContextData();
   // It's likely that disposing the context has created a lot of
   // garbage. Notify V8 about this so it'll have a chance of cleaning
diff --git a/third_party/blink/renderer/bindings/core/v8/local_window_proxy.h b/third_party/blink/renderer/bindings/core/v8/local_window_proxy.h
index 5a326af..0c9ca19 100644
--- a/third_party/blink/renderer/bindings/core/v8/local_window_proxy.h
+++ b/third_party/blink/renderer/bindings/core/v8/local_window_proxy.h
@@ -70,11 +70,7 @@
  private:
   bool IsLocal() const override { return true; }
   void Initialize() override;
-  void DisposeContext(Lifecycle next_status,
-                      FrameReuseStatus,
-                      v8::Context::DetachedWindowReason) override;
-  static bool IsSetDetachedWindowReasonEnabled(
-      v8::Context::DetachedWindowReason reason);
+  void DisposeContext(Lifecycle next_status, FrameReuseStatus) override;
 
   // Creates a new v8::Context with the window wrapper object as the global
   // object (aka the inner global).  Note that the window wrapper and its
diff --git a/third_party/blink/renderer/bindings/core/v8/remote_window_proxy.cc b/third_party/blink/renderer/bindings/core/v8/remote_window_proxy.cc
index 60b86dd..e94085b 100644
--- a/third_party/blink/renderer/bindings/core/v8/remote_window_proxy.cc
+++ b/third_party/blink/renderer/bindings/core/v8/remote_window_proxy.cc
@@ -49,8 +49,7 @@
     : WindowProxy(isolate, frame, std::move(world)) {}
 
 void RemoteWindowProxy::DisposeContext(Lifecycle next_status,
-                                       FrameReuseStatus,
-                                       v8::Context::DetachedWindowReason) {
+                                       FrameReuseStatus) {
   DCHECK(next_status == Lifecycle::kV8MemoryIsForciblyPurged ||
          next_status == Lifecycle::kGlobalObjectIsDetached ||
          next_status == Lifecycle::kFrameIsDetached ||
diff --git a/third_party/blink/renderer/bindings/core/v8/remote_window_proxy.h b/third_party/blink/renderer/bindings/core/v8/remote_window_proxy.h
index b95e0b3..0841c42 100644
--- a/third_party/blink/renderer/bindings/core/v8/remote_window_proxy.h
+++ b/third_party/blink/renderer/bindings/core/v8/remote_window_proxy.h
@@ -49,9 +49,7 @@
 
  private:
   void Initialize() override;
-  void DisposeContext(Lifecycle next_status,
-                      FrameReuseStatus,
-                      v8::Context::DetachedWindowReason) override;
+  void DisposeContext(Lifecycle next_status, FrameReuseStatus) override;
 
   // Creates a new v8::Context with the window wrapper object as the global
   // object (aka the inner global).  Note that the window wrapper and its
diff --git a/third_party/blink/renderer/bindings/core/v8/script_promise.h b/third_party/blink/renderer/bindings/core/v8/script_promise.h
index fde92c9..b154f773 100644
--- a/third_party/blink/renderer/bindings/core/v8/script_promise.h
+++ b/third_party/blink/renderer/bindings/core/v8/script_promise.h
@@ -152,6 +152,10 @@
     ScriptValue resolver_;
   };
 
+  bool IsAssociatedWith(ScriptState* script_state) const {
+    return script_state == script_state_;
+  }
+
  private:
   static void IncreaseInstanceCount();
   static void DecreaseInstanceCount();
diff --git a/third_party/blink/renderer/bindings/core/v8/script_promise_property.h b/third_party/blink/renderer/bindings/core/v8/script_promise_property.h
index c62e79e..33d4aa7 100644
--- a/third_party/blink/renderer/bindings/core/v8/script_promise_property.h
+++ b/third_party/blink/renderer/bindings/core/v8/script_promise_property.h
@@ -8,8 +8,10 @@
 #include "base/macros.h"
 #include "base/memory/scoped_refptr.h"
 #include "third_party/blink/renderer/bindings/core/v8/script_promise.h"
-#include "third_party/blink/renderer/bindings/core/v8/script_promise_property_base.h"
+#include "third_party/blink/renderer/bindings/core/v8/script_promise_resolver.h"
 #include "third_party/blink/renderer/bindings/core/v8/to_v8_for_core.h"
+#include "third_party/blink/renderer/bindings/core/v8/v8_binding_for_core.h"
+#include "third_party/blink/renderer/core/execution_context/context_lifecycle_observer.h"
 #include "third_party/blink/renderer/platform/bindings/script_forbidden_scope.h"
 
 namespace blink {
@@ -20,174 +22,152 @@
 // attribute whose value is a Promise, and the same Promise must be
 // returned each time.
 //
-// ScriptPromiseProperty does not keep Promises or worlds alive to
-// deliver Promise resolution/rejection to them; the Promise
-// resolution/rejections are delivered if the holder's wrapper is
-// alive. This is achieved by keeping a weak reference from
-// ScriptPromiseProperty to the holder's wrapper, and references in
-// hidden values from the wrapper to the promise and resolver
-// (coincidentally the Resolver and Promise may be the same object,
-// but that is an implementation detail of v8.)
-//
-//                                             ----> Resolver
-//                                            /
-// ScriptPromiseProperty - - -> Holder Wrapper ----> Promise
-//
-// To avoid exposing the action of the garbage collector to script,
-// you should keep the wrapper alive as long as a promise may be
-// settled.
-//
-// To avoid clobbering hidden values, a holder should only have one
-// ScriptPromiseProperty object for a given name at a time. See reset.
-template <typename HolderType, typename ResolvedType, typename RejectedType>
-class ScriptPromiseProperty : public ScriptPromisePropertyBase {
+// Use ScriptPromise if the property is associated with only one world
+// (e.g., FetchEvent.preloadResponse). Use ScriptPromiseProperty if the property
+// can be accessed from multiple worlds (e.g., ServiceWorkerContainer.ready).
+template <typename ResolvedType, typename RejectedType>
+class ScriptPromiseProperty final
+    : public GarbageCollected<
+          ScriptPromiseProperty<ResolvedType, RejectedType>>,
+      public ContextClient {
+  USING_GARBAGE_COLLECTED_MIXIN(ScriptPromiseProperty);
+
  public:
+  enum State {
+    kPending,
+    kResolved,
+    kRejected,
+  };
+
   // Creates a ScriptPromiseProperty that will create Promises in
   // the specified ExecutionContext for a property of 'holder'
   // (typically ScriptPromiseProperty should be a member of the
   // property holder).
-  //
-  // When implementing a ScriptPromiseProperty add the property name
-  // to script_promise_properties.h and pass
-  // ScriptPromiseProperty::Foo to create. The name must be unique
-  // per kind of holder.
-  template <typename PassHolderType>
-  ScriptPromiseProperty(ExecutionContext*, PassHolderType, Name);
+  ScriptPromiseProperty(ExecutionContext* execution_context)
+      : ContextClient(execution_context) {}
 
-  ~ScriptPromiseProperty() override = default;
+  ScriptPromise Promise(DOMWrapperWorld& world) {
+    if (!GetExecutionContext()) {
+      return ScriptPromise();
+    }
+
+    v8::HandleScope handle_scope(GetExecutionContext()->GetIsolate());
+    v8::Local<v8::Context> context = ToV8Context(GetExecutionContext(), world);
+    if (context.IsEmpty()) {
+      return ScriptPromise();
+    }
+    ScriptState* script_state = ScriptState::From(context);
+
+    for (const auto& promise : promises_) {
+      if (promise.IsAssociatedWith(script_state)) {
+        return promise;
+      }
+    }
+
+    ScriptState::Scope scope(script_state);
+
+    auto* resolver = MakeGarbageCollected<ScriptPromiseResolver>(script_state);
+    // ScriptPromiseResolver usually requires a caller to reject it before
+    // releasing, but ScriptPromiseProperty doesn't have such a requirement, so
+    // suppress the check forcibly.
+    resolver->SuppressDetachCheck();
+    ScriptPromise promise = resolver->Promise();
+    switch (state_) {
+      case kPending:
+        resolvers_.push_back(resolver);
+        break;
+      case kResolved:
+        if (resolved_with_undefined_) {
+          resolver->Resolve();
+        } else {
+          resolver->Resolve(resolved_);
+        }
+        break;
+      case kRejected:
+        resolver->Reject(rejected_);
+        break;
+    }
+    promises_.push_back(promise);
+    return promise;
+  }
 
   template <typename PassResolvedType>
-  void Resolve(PassResolvedType);
+  void Resolve(PassResolvedType value) {
+    CHECK(!ScriptForbiddenScope::IsScriptForbidden());
+    DCHECK_EQ(GetState(), kPending);
+    if (!GetExecutionContext()) {
+      return;
+    }
+    state_ = kResolved;
+    resolved_ = value;
+    for (const Member<ScriptPromiseResolver>& resolver : resolvers_) {
+      resolver->Resolve(resolved_);
+    }
+    resolvers_.clear();
+  }
 
-  void ResolveWithUndefined();
+  void ResolveWithUndefined() {
+    CHECK(!ScriptForbiddenScope::IsScriptForbidden());
+    DCHECK_EQ(GetState(), kPending);
+    if (!GetExecutionContext()) {
+      return;
+    }
+    state_ = kResolved;
+    resolved_with_undefined_ = true;
+    for (const Member<ScriptPromiseResolver>& resolver : resolvers_) {
+      resolver->Resolve();
+    }
+    resolvers_.clear();
+  }
 
   template <typename PassRejectedType>
-  void Reject(PassRejectedType);
+  void Reject(PassRejectedType value) {
+    CHECK(!ScriptForbiddenScope::IsScriptForbidden());
+    DCHECK_EQ(GetState(), kPending);
+    if (!GetExecutionContext()) {
+      return;
+    }
+    state_ = kRejected;
+    rejected_ = value;
+    for (const Member<ScriptPromiseResolver>& resolver : resolvers_) {
+      resolver->Reject(rejected_);
+    }
+    resolvers_.clear();
+  }
 
   // Resets this property by unregistering the Promise property from the
   // holder wrapper. Resets the internal state to Pending and clears the
   // resolved and the rejected values.
-  // This method keeps the holder object and the property name.
-  void Reset();
+  void Reset() {
+    state_ = kPending;
+    resolved_ = ResolvedType();
+    rejected_ = RejectedType();
+    resolvers_.clear();
+    promises_.clear();
+    resolved_with_undefined_ = false;
+  }
 
-  void Trace(blink::Visitor*) override;
+  void Trace(blink::Visitor* visitor) override {
+    TraceIfNeeded<ResolvedType>::Trace(visitor, resolved_);
+    TraceIfNeeded<RejectedType>::Trace(visitor, rejected_);
+    visitor->Trace(resolvers_);
+    visitor->Trace(promises_);
+    ContextClient::Trace(visitor);
+  }
+
+  State GetState() const { return state_; }
 
  private:
-  v8::Local<v8::Object> Holder(v8::Isolate*,
-                               v8::Local<v8::Object> creation_context) override;
-  v8::Local<v8::Value> ResolvedValue(
-      v8::Isolate*,
-      v8::Local<v8::Object> creation_context) override;
-  v8::Local<v8::Value> RejectedValue(
-      v8::Isolate*,
-      v8::Local<v8::Object> creation_context) override;
-
-  HolderType holder_;
+  State state_ = kPending;
   ResolvedType resolved_;
   RejectedType rejected_;
+  HeapVector<Member<ScriptPromiseResolver>> resolvers_;
+  HeapVector<ScriptPromise> promises_;
   bool resolved_with_undefined_ = false;
 
   DISALLOW_COPY_AND_ASSIGN(ScriptPromiseProperty);
 };
 
-template <typename HolderType, typename ResolvedType, typename RejectedType>
-template <typename PassHolderType>
-ScriptPromiseProperty<HolderType, ResolvedType, RejectedType>::
-    ScriptPromiseProperty(ExecutionContext* execution_context,
-                          PassHolderType holder,
-                          Name name)
-    : ScriptPromisePropertyBase(execution_context, name), holder_(holder) {}
-
-template <typename HolderType, typename ResolvedType, typename RejectedType>
-template <typename PassResolvedType>
-void ScriptPromiseProperty<HolderType, ResolvedType, RejectedType>::Resolve(
-    PassResolvedType value) {
-  if (GetState() != kPending) {
-    NOTREACHED();
-    return;
-  }
-  CHECK(!ScriptForbiddenScope::IsScriptForbidden());
-  if (!GetExecutionContext() || GetExecutionContext()->IsContextDestroyed())
-    return;
-  resolved_ = value;
-  ResolveOrReject(kResolved);
-}
-
-template <typename HolderType, typename ResolvedType, typename RejectedType>
-void ScriptPromiseProperty<HolderType, ResolvedType, RejectedType>::
-    ResolveWithUndefined() {
-  if (GetState() != kPending) {
-    NOTREACHED();
-    return;
-  }
-  if (!GetExecutionContext() || GetExecutionContext()->IsContextDestroyed())
-    return;
-  resolved_with_undefined_ = true;
-  ResolveOrReject(kResolved);
-}
-
-template <typename HolderType, typename ResolvedType, typename RejectedType>
-template <typename PassRejectedType>
-void ScriptPromiseProperty<HolderType, ResolvedType, RejectedType>::Reject(
-    PassRejectedType value) {
-  if (GetState() != kPending) {
-    NOTREACHED();
-    return;
-  }
-  if (!GetExecutionContext() || GetExecutionContext()->IsContextDestroyed())
-    return;
-  rejected_ = value;
-  ResolveOrReject(kRejected);
-}
-
-template <typename HolderType, typename ResolvedType, typename RejectedType>
-v8::Local<v8::Object>
-ScriptPromiseProperty<HolderType, ResolvedType, RejectedType>::Holder(
-    v8::Isolate* isolate,
-    v8::Local<v8::Object> creation_context) {
-  v8::Local<v8::Value> value = ToV8(holder_, creation_context, isolate);
-  if (value.IsEmpty())
-    return v8::Local<v8::Object>();
-  return value.As<v8::Object>();
-}
-
-template <typename HolderType, typename ResolvedType, typename RejectedType>
-v8::Local<v8::Value>
-ScriptPromiseProperty<HolderType, ResolvedType, RejectedType>::ResolvedValue(
-    v8::Isolate* isolate,
-    v8::Local<v8::Object> creation_context) {
-  DCHECK_EQ(GetState(), kResolved);
-  if (!resolved_with_undefined_)
-    return ToV8(resolved_, creation_context, isolate);
-  return v8::Undefined(isolate);
-}
-
-template <typename HolderType, typename ResolvedType, typename RejectedType>
-v8::Local<v8::Value>
-ScriptPromiseProperty<HolderType, ResolvedType, RejectedType>::RejectedValue(
-    v8::Isolate* isolate,
-    v8::Local<v8::Object> creation_context) {
-  DCHECK_EQ(GetState(), kRejected);
-  return ToV8(rejected_, creation_context, isolate);
-}
-
-template <typename HolderType, typename ResolvedType, typename RejectedType>
-void ScriptPromiseProperty<HolderType, ResolvedType, RejectedType>::Reset() {
-  ResetBase();
-  resolved_ = ResolvedType();
-  rejected_ = RejectedType();
-  resolved_with_undefined_ = false;
-}
-
-template <typename HolderType, typename ResolvedType, typename RejectedType>
-void ScriptPromiseProperty<HolderType, ResolvedType, RejectedType>::Trace(
-    Visitor* visitor) {
-  TraceIfNeeded<HolderType>::Trace(visitor, holder_);
-  TraceIfNeeded<ResolvedType>::Trace(visitor, resolved_);
-  TraceIfNeeded<RejectedType>::Trace(visitor, rejected_);
-  ScriptPromisePropertyBase::Trace(visitor);
-}
-
 }  // namespace blink
 
 #endif  // THIRD_PARTY_BLINK_RENDERER_BINDINGS_CORE_V8_SCRIPT_PROMISE_PROPERTY_H_
diff --git a/third_party/blink/renderer/bindings/core/v8/script_promise_property_base.cc b/third_party/blink/renderer/bindings/core/v8/script_promise_property_base.cc
deleted file mode 100644
index dc117d2..0000000
--- a/third_party/blink/renderer/bindings/core/v8/script_promise_property_base.cc
+++ /dev/null
@@ -1,236 +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.
-
-#include "third_party/blink/renderer/bindings/core/v8/script_promise_property_base.h"
-
-#include <memory>
-#include "third_party/blink/renderer/bindings/core/v8/v8_binding_for_core.h"
-#include "third_party/blink/renderer/core/execution_context/execution_context.h"
-#include "third_party/blink/renderer/platform/bindings/scoped_persistent.h"
-#include "third_party/blink/renderer/platform/bindings/script_state.h"
-
-namespace blink {
-
-ScriptPromisePropertyBase::ScriptPromisePropertyBase(
-    ExecutionContext* execution_context,
-    Name name)
-    : ContextClient(execution_context),
-      isolate_(execution_context->GetIsolate()),
-      name_(name),
-      state_(kPending) {}
-
-ScriptPromisePropertyBase::~ScriptPromisePropertyBase() {
-  // TODO(haraken): Stop calling ClearWrappers here, as the dtor is invoked
-  // during oilpan GC, but ClearWrappers potentially runs user script.
-  ClearWrappers();
-}
-
-ScriptPromise ScriptPromisePropertyBase::Promise(DOMWrapperWorld& world) {
-  if (!GetExecutionContext())
-    return ScriptPromise();
-
-  v8::HandleScope handle_scope(isolate_);
-  v8::Local<v8::Context> context = ToV8Context(GetExecutionContext(), world);
-  if (context.IsEmpty())
-    return ScriptPromise();
-  ScriptState* script_state = ScriptState::From(context);
-  ScriptState::Scope scope(script_state);
-
-  v8::Local<v8::Object> wrapper = EnsureHolderWrapper(script_state);
-  DCHECK(wrapper->CreationContext() == context);
-
-  v8::Local<v8::Value> cached_promise;
-  if (PromiseSymbol().GetOrUndefined(wrapper).ToLocal(&cached_promise) &&
-      cached_promise->IsPromise()) {
-    return ScriptPromise(script_state, cached_promise);
-  }
-
-  // Create and cache the Promise
-  v8::Local<v8::Promise::Resolver> resolver;
-  if (!v8::Promise::Resolver::New(context).ToLocal(&resolver))
-    return ScriptPromise();
-  v8::Local<v8::Promise> promise = resolver->GetPromise();
-  PromiseSymbol().Set(wrapper, promise);
-
-  switch (state_) {
-    case kPending:
-      // Cache the resolver too
-      ResolverSymbol().Set(wrapper, resolver);
-      break;
-    case kResolved:
-    case kRejected:
-      ResolveOrRejectInternal(resolver);
-      break;
-  }
-
-  return ScriptPromise(script_state, promise);
-}
-
-void ScriptPromisePropertyBase::ResolveOrReject(State target_state) {
-  DCHECK(GetExecutionContext());
-  DCHECK_EQ(state_, kPending);
-  DCHECK(target_state == kResolved || target_state == kRejected);
-
-  state_ = target_state;
-
-  v8::HandleScope handle_scope(isolate_);
-  wtf_size_t i = 0;
-  while (i < wrappers_.size()) {
-    const std::unique_ptr<ScopedPersistent<v8::Object>>& persistent =
-        wrappers_[i];
-    if (persistent->IsEmpty()) {
-      // wrapper has died.
-      // Since v8 GC can run during the iteration and clear the reference,
-      // we can't move this check out of the loop.
-      wrappers_.EraseAt(i);
-      continue;
-    }
-    v8::Local<v8::Object> wrapper = persistent->NewLocal(isolate_);
-    ScriptState* script_state = ScriptState::From(wrapper->CreationContext());
-    ScriptState::Scope scope(script_state);
-
-    V8PrivateProperty::Symbol symbol = ResolverSymbol();
-    DCHECK(symbol.HasValue(wrapper));
-    v8::Local<v8::Value> resolver_value;
-    if (!symbol.GetOrUndefined(wrapper).ToLocal(&resolver_value))
-      return;
-    symbol.DeleteProperty(wrapper);
-    ResolveOrRejectInternal(
-        v8::Local<v8::Promise::Resolver>::Cast(resolver_value));
-    ++i;
-  }
-}
-
-void ScriptPromisePropertyBase::ResetBase() {
-  CheckThis();
-  ClearWrappers();
-  state_ = kPending;
-}
-
-void ScriptPromisePropertyBase::ResolveOrRejectInternal(
-    v8::Local<v8::Promise::Resolver> resolver) {
-  v8::Local<v8::Context> context = resolver->CreationContext();
-  switch (state_) {
-    case kPending:
-      NOTREACHED();
-      break;
-    case kResolved:
-      resolver->Resolve(context, ResolvedValue(isolate_, context->Global()))
-          .ToChecked();
-      break;
-    case kRejected:
-      resolver->Reject(context, RejectedValue(isolate_, context->Global()))
-          .ToChecked();
-      break;
-  }
-}
-
-v8::Local<v8::Object> ScriptPromisePropertyBase::EnsureHolderWrapper(
-    ScriptState* script_state) {
-  v8::Local<v8::Context> context = script_state->GetContext();
-  wtf_size_t i = 0;
-  while (i < wrappers_.size()) {
-    const std::unique_ptr<ScopedPersistent<v8::Object>>& persistent =
-        wrappers_[i];
-    if (persistent->IsEmpty()) {
-      // wrapper has died.
-      // Since v8 GC can run during the iteration and clear the reference,
-      // we can't move this check out of the loop.
-      wrappers_.EraseAt(i);
-      continue;
-    }
-
-    v8::Local<v8::Object> wrapper = persistent->NewLocal(isolate_);
-    if (wrapper->CreationContext() == context)
-      return wrapper;
-    ++i;
-  }
-  v8::Local<v8::Object> wrapper = Holder(isolate_, context->Global());
-  std::unique_ptr<ScopedPersistent<v8::Object>> weak_persistent =
-      std::make_unique<ScopedPersistent<v8::Object>>();
-  weak_persistent->Set(isolate_, wrapper);
-  weak_persistent->SetPhantom();
-  wrappers_.push_back(std::move(weak_persistent));
-  DCHECK(wrapper->CreationContext() == context);
-  return wrapper;
-}
-
-void ScriptPromisePropertyBase::ClearWrappers() {
-  CheckThis();
-  CheckWrappers();
-  v8::HandleScope handle_scope(isolate_);
-  for (WeakPersistentSet::iterator i = wrappers_.begin(); i != wrappers_.end();
-       ++i) {
-    v8::Local<v8::Object> wrapper = (*i)->NewLocal(isolate_);
-    if (!wrapper.IsEmpty()) {
-      v8::Context::Scope scope(wrapper->CreationContext());
-      // TODO(peria): Use deleteProperty() if http://crbug.com/v8/6227 is fixed.
-
-      // Check whether the value has been set or not. Unfortunately, HasValue
-      // cannot be used as it triggers regular ScriptForbiddenScope through V8
-      // callbacks. GetOrUndefined avoids this because it does not enter a
-      // proper scope in V8.
-      v8::Local<v8::Value> cache;
-      if (ResolverSymbol().GetOrUndefined(wrapper).ToLocal(&cache) &&
-          !cache->IsUndefined()) {
-        ResolverSymbol().Set(wrapper, v8::Undefined(isolate_));
-      }
-      if (PromiseSymbol().GetOrUndefined(wrapper).ToLocal(&cache) &&
-          !cache->IsUndefined()) {
-        PromiseSymbol().Set(wrapper, v8::Undefined(isolate_));
-      }
-    }
-  }
-  wrappers_.clear();
-}
-
-void ScriptPromisePropertyBase::CheckThis() {
-  CHECK(this);
-}
-
-void ScriptPromisePropertyBase::CheckWrappers() {
-  for (WeakPersistentSet::iterator i = wrappers_.begin(); i != wrappers_.end();
-       ++i) {
-    CHECK(*i);
-  }
-}
-
-V8PrivateProperty::Symbol ScriptPromisePropertyBase::PromiseSymbol() {
-  switch (name_) {
-#define P(Interface, Name)                                                     \
-  case Name:                                                                   \
-    static const V8PrivateProperty::SymbolKey kPrivateProperty##Name##Promise; \
-    return V8PrivateProperty::GetSymbol(isolate_,                              \
-                                        kPrivateProperty##Name##Promise);
-
-    SCRIPT_PROMISE_PROPERTIES(P)
-
-#undef P
-  }
-  NOTREACHED();
-  return V8PrivateProperty::GetEmptySymbol();
-}
-
-V8PrivateProperty::Symbol ScriptPromisePropertyBase::ResolverSymbol() {
-  switch (name_) {
-#define P(Interface, Name)                        \
-  case Name:                                      \
-    static const V8PrivateProperty::SymbolKey     \
-        kPrivateProperty##Name##Resolver;         \
-    return V8PrivateProperty::GetSymbol(isolate_, \
-                                        kPrivateProperty##Name##Resolver);
-
-    SCRIPT_PROMISE_PROPERTIES(P)
-
-#undef P
-  }
-  NOTREACHED();
-  return V8PrivateProperty::GetEmptySymbol();
-}
-
-void ScriptPromisePropertyBase::Trace(blink::Visitor* visitor) {
-  ContextClient::Trace(visitor);
-}
-
-}  // namespace blink
diff --git a/third_party/blink/renderer/bindings/core/v8/script_promise_property_base.h b/third_party/blink/renderer/bindings/core/v8/script_promise_property_base.h
deleted file mode 100644
index 11cb4ee..0000000
--- a/third_party/blink/renderer/bindings/core/v8/script_promise_property_base.h
+++ /dev/null
@@ -1,98 +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 THIRD_PARTY_BLINK_RENDERER_BINDINGS_CORE_V8_SCRIPT_PROMISE_PROPERTY_BASE_H_
-#define THIRD_PARTY_BLINK_RENDERER_BINDINGS_CORE_V8_SCRIPT_PROMISE_PROPERTY_BASE_H_
-
-#include <memory>
-
-#include "third_party/blink/renderer/bindings/core/v8/script_promise.h"
-#include "third_party/blink/renderer/core/core_export.h"
-#include "third_party/blink/renderer/core/execution_context/context_lifecycle_observer.h"
-#include "third_party/blink/renderer/platform/bindings/scoped_persistent.h"
-#include "third_party/blink/renderer/platform/bindings/script_promise_properties.h"
-#include "third_party/blink/renderer/platform/bindings/v8_private_property.h"
-#include "third_party/blink/renderer/platform/wtf/ref_counted.h"
-#include "third_party/blink/renderer/platform/wtf/vector.h"
-#include "v8/include/v8.h"
-
-namespace blink {
-
-class DOMWrapperWorld;
-class ExecutionContext;
-class ScriptState;
-
-// TODO(yhirano): Remove NOINLINE once we find the cause of crashes.
-class CORE_EXPORT ScriptPromisePropertyBase
-    : public GarbageCollected<ScriptPromisePropertyBase>,
-      public ContextClient {
-  USING_GARBAGE_COLLECTED_MIXIN(ScriptPromisePropertyBase);
-
- public:
-  virtual ~ScriptPromisePropertyBase();
-
-  enum Name {
-#define P(Unused, Name) Name,
-    SCRIPT_PROMISE_PROPERTIES(P)
-#undef P
-  };
-
-  enum State {
-    kPending,
-    kResolved,
-    kRejected,
-  };
-  State GetState() const { return state_; }
-
-  ScriptPromise Promise(DOMWrapperWorld&);
-
-  void Trace(blink::Visitor*) override;
-
- protected:
-  ScriptPromisePropertyBase(ExecutionContext*, Name);
-
-  void ResolveOrReject(State target_state);
-
-  // ScriptPromiseProperty overrides these to wrap the holder,
-  // rejected value and resolved value. The
-  // ScriptPromisePropertyBase caller will enter the V8Context for
-  // the property's execution context and the world it is
-  // creating/settling promises in; the implementation should use
-  // this context.
-  virtual v8::Local<v8::Object> Holder(
-      v8::Isolate*,
-      v8::Local<v8::Object> creation_context) = 0;
-  virtual v8::Local<v8::Value> ResolvedValue(
-      v8::Isolate*,
-      v8::Local<v8::Object> creation_context) = 0;
-  virtual v8::Local<v8::Value> RejectedValue(
-      v8::Isolate*,
-      v8::Local<v8::Object> creation_context) = 0;
-
-  NOINLINE void ResetBase();
-
- private:
-  typedef Vector<std::unique_ptr<ScopedPersistent<v8::Object>>>
-      WeakPersistentSet;
-
-  void ResolveOrRejectInternal(v8::Local<v8::Promise::Resolver>);
-  v8::Local<v8::Object> EnsureHolderWrapper(ScriptState*);
-  NOINLINE void ClearWrappers();
-  // TODO(yhirano): Remove these functions once we find the cause of crashes.
-  NOINLINE void CheckThis();
-  NOINLINE void CheckWrappers();
-
-  V8PrivateProperty::Symbol PromiseSymbol();
-  V8PrivateProperty::Symbol ResolverSymbol();
-
-  v8::Isolate* isolate_;
-  Name name_;
-  State state_;
-
-  WeakPersistentSet wrappers_;
-};
-
-}  // namespace blink
-
-#endif  // THIRD_PARTY_BLINK_RENDERER_BINDINGS_CORE_V8_SCRIPT_PROMISE_PROPERTY_BASE_H_
diff --git a/third_party/blink/renderer/bindings/core/v8/script_promise_property_test.cc b/third_party/blink/renderer/bindings/core/v8/script_promise_property_test.cc
index a64d5000..b1d7a86 100644
--- a/third_party/blink/renderer/bindings/core/v8/script_promise_property_test.cc
+++ b/third_party/blink/renderer/bindings/core/v8/script_promise_property_test.cc
@@ -76,15 +76,11 @@
 class GarbageCollectedHolder final : public GarbageCollectedScriptWrappable {
  public:
   typedef ScriptPromiseProperty<Member<GarbageCollectedScriptWrappable>,
-                                Member<GarbageCollectedScriptWrappable>,
                                 Member<GarbageCollectedScriptWrappable>>
       Property;
   GarbageCollectedHolder(ExecutionContext* execution_context)
       : GarbageCollectedScriptWrappable("holder"),
-        property_(
-            MakeGarbageCollected<Property>(execution_context,
-                                           ToGarbageCollectedScriptWrappable(),
-                                           Property::kReady)) {}
+        property_(MakeGarbageCollected<Property>(execution_context)) {}
 
   Property* GetProperty() { return property_; }
   GarbageCollectedScriptWrappable* ToGarbageCollectedScriptWrappable() {
@@ -194,13 +190,8 @@
  public:
   template <typename T>
   void Test(const T& value, const char* expected, const char* file, int line) {
-    typedef ScriptPromiseProperty<Member<GarbageCollectedScriptWrappable>, T,
-                                  ToV8UndefinedGenerator>
-        Property;
-    Property* property = MakeGarbageCollected<Property>(
-        &GetDocument(),
-        MakeGarbageCollected<GarbageCollectedScriptWrappable>("holder"),
-        Property::kReady);
+    typedef ScriptPromiseProperty<T, ToV8UndefinedGenerator> Property;
+    Property* property = MakeGarbageCollected<Property>(&GetDocument());
     size_t n_resolve_calls = 0;
     ScriptValue actual_value;
     String actual;
@@ -289,6 +280,9 @@
   Persistent<GCObservation> observation;
   {
     ScriptState::Scope scope(MainScriptState());
+    // Here we have a reference cylce between Holder() and the promise.
+    Holder()->GetProperty()->Resolve(Holder());
+
     observation = MakeGarbageCollected<GCObservation>(
         Promise(DOMWrapperWorld::MainWorld()).V8Value());
   }
diff --git a/third_party/blink/renderer/bindings/core/v8/script_promise_resolver.cc b/third_party/blink/renderer/bindings/core/v8/script_promise_resolver.cc
index 835b86b..e1502d3 100644
--- a/third_party/blink/renderer/bindings/core/v8/script_promise_resolver.cc
+++ b/third_party/blink/renderer/bindings/core/v8/script_promise_resolver.cc
@@ -41,7 +41,7 @@
       state_ == kDetached || !is_promise_called_ ||
       !GetScriptState()->ContextIsValid() || !GetExecutionContext() ||
       GetExecutionContext()->IsContextDestroyed();
-  if (!is_properly_detached) {
+  if (!is_properly_detached && !suppress_detach_check_) {
     // This is here to make it easier to track down which promise resolvers are
     // being abandoned. See https://crbug.com/873980.
     static crash_reporter::CrashKeyString<1024> trace_key(
diff --git a/third_party/blink/renderer/bindings/core/v8/script_promise_resolver.h b/third_party/blink/renderer/bindings/core/v8/script_promise_resolver.h
index 929535af..4d0d317 100644
--- a/third_party/blink/renderer/bindings/core/v8/script_promise_resolver.h
+++ b/third_party/blink/renderer/bindings/core/v8/script_promise_resolver.h
@@ -85,6 +85,14 @@
   // Do not call this function unless you truly need the behavior.
   void Detach();
 
+  // Suppresses the check in Dispose. Do not use this function unless you truly
+  // need the behavior. Also consider using Detach().
+  void SuppressDetachCheck() {
+#if DCHECK_IS_ON()
+    suppress_detach_check_ = true;
+#endif
+  }
+
   // Once this function is called this resolver stays alive while the
   // promise is pending and the associated ExecutionContext isn't stopped.
   void KeepAliveWhilePending();
@@ -157,6 +165,7 @@
 #if DCHECK_IS_ON()
   // True if promise() is called.
   bool is_promise_called_ = false;
+  bool suppress_detach_check_ = false;
 
   base::debug::StackTrace create_stack_trace_{8};
 #endif
diff --git a/third_party/blink/renderer/bindings/core/v8/window_proxy.cc b/third_party/blink/renderer/bindings/core/v8/window_proxy.cc
index 86076cb3..99176013 100644
--- a/third_party/blink/renderer/bindings/core/v8/window_proxy.cc
+++ b/third_party/blink/renderer/bindings/core/v8/window_proxy.cc
@@ -65,24 +65,19 @@
   DisposeContext(lifecycle_ == Lifecycle::kV8MemoryIsForciblyPurged
                      ? Lifecycle::kFrameIsDetachedAndV8MemoryIsPurged
                      : Lifecycle::kFrameIsDetached,
-                 kFrameWillNotBeReused,
-                 v8::Context::DetachedWindowReason::kDetachedWindowByClosing);
+                 kFrameWillNotBeReused);
 }
 
 void WindowProxy::ClearForNavigation() {
-  DisposeContext(Lifecycle::kGlobalObjectIsDetached, kFrameWillBeReused,
-                 v8::Context::kDetachedWindowByNavigation);
+  DisposeContext(Lifecycle::kGlobalObjectIsDetached, kFrameWillBeReused);
 }
 
 void WindowProxy::ClearForSwap() {
-  // This happens on a navigation between local/remote source.
-  DisposeContext(Lifecycle::kGlobalObjectIsDetached, kFrameWillNotBeReused,
-                 v8::Context::kDetachedWindowByNavigation);
+  DisposeContext(Lifecycle::kGlobalObjectIsDetached, kFrameWillNotBeReused);
 }
 
 void WindowProxy::ClearForV8MemoryPurge() {
-  DisposeContext(Lifecycle::kV8MemoryIsForciblyPurged, kFrameWillNotBeReused,
-                 v8::Context::kDetachedWindowByOtherReason);
+  DisposeContext(Lifecycle::kV8MemoryIsForciblyPurged, kFrameWillNotBeReused);
 }
 
 v8::Local<v8::Object> WindowProxy::GlobalProxyIfNotDetached() {
diff --git a/third_party/blink/renderer/bindings/core/v8/window_proxy.h b/third_party/blink/renderer/bindings/core/v8/window_proxy.h
index 777bb67..060b4a3b 100644
--- a/third_party/blink/renderer/bindings/core/v8/window_proxy.h
+++ b/third_party/blink/renderer/bindings/core/v8/window_proxy.h
@@ -256,9 +256,7 @@
 
   virtual void Initialize() = 0;
 
-  virtual void DisposeContext(Lifecycle next_status,
-                              FrameReuseStatus,
-                              v8::Context::DetachedWindowReason) = 0;
+  virtual void DisposeContext(Lifecycle next_status, FrameReuseStatus) = 0;
 
   WARN_UNUSED_RESULT v8::Local<v8::Object> AssociateWithWrapper(
       DOMWindow*,
diff --git a/third_party/blink/renderer/bindings/scripts/bind_gen/blink_v8_bridge.py b/third_party/blink/renderer/bindings/scripts/bind_gen/blink_v8_bridge.py
index d15ccba..f012f80 100644
--- a/third_party/blink/renderer/bindings/scripts/bind_gen/blink_v8_bridge.py
+++ b/third_party/blink/renderer/bindings/scripts/bind_gen/blink_v8_bridge.py
@@ -65,6 +65,7 @@
                      is_nullable=False):
             self.member_t = member_fmt.format(typename)
             self.ref_t = ref_fmt.format(typename)
+            self.const_ref_t = const_ref_fmt.format(typename)
             self.value_t = value_fmt.format(typename)
             # Whether Blink impl type can represent IDL null or not.
             self.is_nullable = is_nullable
@@ -189,6 +190,9 @@
     if non_null_real_type.is_string:
         return "IDL{}V2".format(real_type.type_name)
 
+    if real_type.is_buffer_source_type:
+        return blink_type_info(real_type).value_t
+
     if real_type.is_symbol:
         assert False, "Blink does not support/accept IDL symbol type."
 
@@ -198,10 +202,13 @@
     if non_null_real_type.type_definition_object:
         return blink_class_name(non_null_real_type.type_definition_object)
 
-    if real_type.is_sequence or real_type.is_frozen_array:
+    if real_type.is_sequence:
         return "IDLSequence<{}>".format(
             native_value_tag(real_type.element_type))
 
+    if real_type.is_frozen_array:
+        return "IDLArray<{}>".format(native_value_tag(real_type.element_type))
+
     if real_type.is_record:
         return "IDLRecord<{}, {}>".format(
             native_value_tag(real_type.key_type),
diff --git a/third_party/blink/renderer/controller/crash_memory_metrics_reporter_impl.cc b/third_party/blink/renderer/controller/crash_memory_metrics_reporter_impl.cc
index d3501e5..61211b4 100644
--- a/third_party/blink/renderer/controller/crash_memory_metrics_reporter_impl.cc
+++ b/third_party/blink/renderer/controller/crash_memory_metrics_reporter_impl.cc
@@ -37,50 +37,54 @@
       CrashMemoryMetricsReporterImpl::OnOOMCallback);
 }
 
-CrashMemoryMetricsReporterImpl::~CrashMemoryMetricsReporterImpl() = default;
+CrashMemoryMetricsReporterImpl::~CrashMemoryMetricsReporterImpl() {
+  MemoryUsageMonitor::Instance().RemoveObserver(this);
+}
 
 void CrashMemoryMetricsReporterImpl::SetSharedMemory(
     base::UnsafeSharedMemoryRegion shared_metrics_buffer) {
   // This method should be called only once per process.
   DCHECK(!shared_metrics_mapping_.IsValid());
   shared_metrics_mapping_ = shared_metrics_buffer.Map();
+  MemoryUsageMonitor::Instance().AddObserver(this);
 }
 
 void CrashMemoryMetricsReporterImpl::OnMemoryPing(MemoryUsage usage) {
-  WriteIntoSharedMemory(
-      CrashMemoryMetricsReporterImpl::MemoryUsageToMetrics(usage));
+  DCHECK(IsMainThread());
+  last_reported_metrics_ =
+      CrashMemoryMetricsReporterImpl::MemoryUsageToMetrics(usage);
+  WriteIntoSharedMemory();
 }
 
-void CrashMemoryMetricsReporterImpl::WriteIntoSharedMemory(
-    const OomInterventionMetrics& metrics) {
+void CrashMemoryMetricsReporterImpl::WriteIntoSharedMemory() {
   if (!shared_metrics_mapping_.IsValid())
     return;
   auto* metrics_shared =
       shared_metrics_mapping_.GetMemoryAs<OomInterventionMetrics>();
-  memcpy(metrics_shared, &metrics, sizeof(OomInterventionMetrics));
+  *metrics_shared = last_reported_metrics_;
 }
 
 void CrashMemoryMetricsReporterImpl::OnOOMCallback() {
   // TODO(yuzus: Support allocation failures on other threads as well.
   if (!IsMainThread())
     return;
+  CrashMemoryMetricsReporterImpl& instance =
+      CrashMemoryMetricsReporterImpl::Instance();
   // If shared_metrics_mapping_ is not set, it means OnNoMemory happened before
   // initializing render process host sets the shared memory.
-  if (!CrashMemoryMetricsReporterImpl::Instance()
-           .shared_metrics_mapping_.IsValid())
+  if (!instance.shared_metrics_mapping_.IsValid())
     return;
   // Else, we can send the allocation_failed bool.
-  OomInterventionMetrics metrics;
   // TODO(yuzus): Report this UMA on all the platforms. Currently this is only
   // reported on Android.
-  metrics.allocation_failed = 1;  // true
-  CrashMemoryMetricsReporterImpl::Instance().WriteIntoSharedMemory(metrics);
+  instance.last_reported_metrics_.allocation_failed = 1;  // true
+  instance.WriteIntoSharedMemory();
 }
 
 // static
 OomInterventionMetrics CrashMemoryMetricsReporterImpl::MemoryUsageToMetrics(
     MemoryUsage usage) {
-  OomInterventionMetrics metrics = {};
+  OomInterventionMetrics metrics;
 
   DCHECK(!std::isnan(usage.private_footprint_bytes));
   DCHECK(!std::isnan(usage.swap_bytes));
diff --git a/third_party/blink/renderer/controller/crash_memory_metrics_reporter_impl.h b/third_party/blink/renderer/controller/crash_memory_metrics_reporter_impl.h
index 811c5b1..5fe84f1 100644
--- a/third_party/blink/renderer/controller/crash_memory_metrics_reporter_impl.h
+++ b/third_party/blink/renderer/controller/crash_memory_metrics_reporter_impl.h
@@ -31,9 +31,6 @@
   void SetSharedMemory(
       base::UnsafeSharedMemoryRegion shared_metrics_buffer) override;
 
-  // MemoryUsageMonitor::Observer:
-  void OnMemoryPing(MemoryUsage) override;
-
   // This method tracks when an allocation failure occurs. It should be hooked
   // into all platform allocation failure handlers in a process such as
   // base::TerminateBecauseOutOfMemory() and OOM_CRASH() in Partition Alloc.
@@ -47,8 +44,12 @@
  private:
   FRIEND_TEST_ALL_PREFIXES(OomInterventionImplTest, CalculateProcessFootprint);
 
-  void WriteIntoSharedMemory(const OomInterventionMetrics& metrics);
+  // MemoryUsageMonitor::Observer:
+  void OnMemoryPing(MemoryUsage) override;
 
+  void WriteIntoSharedMemory();
+
+  OomInterventionMetrics last_reported_metrics_;
   base::WritableSharedMemoryMapping shared_metrics_mapping_;
   mojo::Receiver<mojom::blink::CrashMemoryMetricsReporter> receiver_{this};
 };
diff --git a/third_party/blink/renderer/core/animation/animation.cc b/third_party/blink/renderer/core/animation/animation.cc
index cef0c1b..f20de6d 100644
--- a/third_party/blink/renderer/core/animation/animation.cc
+++ b/third_party/blink/renderer/core/animation/animation.cc
@@ -1245,8 +1245,7 @@
 ScriptPromise Animation::finished(ScriptState* script_state) {
   if (!finished_promise_) {
     finished_promise_ = MakeGarbageCollected<AnimationPromise>(
-        ExecutionContext::From(script_state), this,
-        AnimationPromise::kFinished);
+        ExecutionContext::From(script_state));
     // Defer resolving the finished promise if the finish notification task is
     // pending. The finished state could change before the next microtask
     // checkpoint.
@@ -1260,7 +1259,7 @@
 ScriptPromise Animation::ready(ScriptState* script_state) {
   if (!ready_promise_) {
     ready_promise_ = MakeGarbageCollected<AnimationPromise>(
-        ExecutionContext::From(script_state), this, AnimationPromise::kReady);
+        ExecutionContext::From(script_state));
     if (!pending())
       ready_promise_->Resolve(this);
   }
@@ -1278,7 +1277,7 @@
 bool Animation::HasPendingActivity() const {
   bool has_pending_promise =
       finished_promise_ &&
-      finished_promise_->GetState() == ScriptPromisePropertyBase::kPending;
+      finished_promise_->GetState() == AnimationPromise::kPending;
 
   return pending_finished_event_ || has_pending_promise ||
          (!finished_ && HasEventListeners(event_type_names::kFinish));
diff --git a/third_party/blink/renderer/core/animation/animation.h b/third_party/blink/renderer/core/animation/animation.h
index e43616ab..5a3430a 100644
--- a/third_party/blink/renderer/core/animation/animation.h
+++ b/third_party/blink/renderer/core/animation/animation.h
@@ -282,7 +282,6 @@
   void NotifyAnimationAborted(double monotonic_time, int group) override {}
 
   using AnimationPromise = ScriptPromiseProperty<Member<Animation>,
-                                                 Member<Animation>,
                                                  Member<DOMException>>;
   void ResolvePromiseMaybeAsync(AnimationPromise*);
   void RejectAndResetPromise(AnimationPromise*);
diff --git a/third_party/blink/renderer/core/core_idl_files.gni b/third_party/blink/renderer/core/core_idl_files.gni
index d637d0a..353a661 100644
--- a/third_party/blink/renderer/core/core_idl_files.gni
+++ b/third_party/blink/renderer/core/core_idl_files.gni
@@ -117,7 +117,6 @@
                     "dom/dom_token_list.idl",
                     "dom/document_fragment.idl",
                     "dom/document_type.idl",
-                    "dom/element.idl",
                     "dom/idle_deadline.idl",
                     "dom/iterator.idl",
                     "dom/mutation_observer.idl",
@@ -500,6 +499,7 @@
                     "clipboard/data_transfer_item.idl",
                     "css/css.idl",
                     "dom/document.idl",
+                    "dom/element.idl",
                     "dom/shadow_root.idl",
                     "frame/navigator.idl",
                     "frame/screen.idl",
diff --git a/third_party/blink/renderer/core/css/css_rule.cc b/third_party/blink/renderer/core/css/css_rule.cc
index 15d3d4da..2a7310b 100644
--- a/third_party/blink/renderer/core/css/css_rule.cc
+++ b/third_party/blink/renderer/core/css/css_rule.cc
@@ -47,13 +47,13 @@
 void CSSRule::SetParentStyleSheet(CSSStyleSheet* style_sheet) {
   parent_is_rule_ = false;
   parent_style_sheet_ = style_sheet;
-  MarkingVisitor::WriteBarrier(parent_style_sheet_);
+  MarkingVisitor::WriteBarrier(&parent_style_sheet_);
 }
 
 void CSSRule::SetParentRule(CSSRule* rule) {
   parent_is_rule_ = true;
   parent_rule_ = rule;
-  MarkingVisitor::WriteBarrier(parent_rule_);
+  MarkingVisitor::WriteBarrier(&parent_rule_);
 }
 
 void CSSRule::Trace(blink::Visitor* visitor) {
diff --git a/third_party/blink/renderer/core/css/font_face.cc b/third_party/blink/renderer/core/css/font_face.cc
index 978de58f..8dfd67a6 100644
--- a/third_party/blink/renderer/core/css/font_face.cc
+++ b/third_party/blink/renderer/core/css/font_face.cc
@@ -463,7 +463,7 @@
 ScriptPromise FontFace::FontStatusPromise(ScriptState* script_state) {
   if (!loaded_property_) {
     loaded_property_ = MakeGarbageCollected<LoadedProperty>(
-        ExecutionContext::From(script_state), this, LoadedProperty::kLoaded);
+        ExecutionContext::From(script_state));
     if (status_ == kLoaded)
       loaded_property_->Resolve(this);
     else if (status_ == kError)
diff --git a/third_party/blink/renderer/core/css/font_face.h b/third_party/blink/renderer/core/css/font_face.h
index b6ac823..5de5674 100644
--- a/third_party/blink/renderer/core/css/font_face.h
+++ b/third_party/blink/renderer/core/css/font_face.h
@@ -159,7 +159,6 @@
   void RunCallbacks();
 
   using LoadedProperty = ScriptPromiseProperty<Member<FontFace>,
-                                               Member<FontFace>,
                                                Member<DOMException>>;
 
   AtomicString family_;
diff --git a/third_party/blink/renderer/core/css/font_face_set.h b/third_party/blink/renderer/core/css/font_face_set.h
index 2eff2ce..9ad731f 100644
--- a/third_party/blink/renderer/core/css/font_face_set.h
+++ b/third_party/blink/renderer/core/css/font_face_set.h
@@ -39,9 +39,7 @@
  public:
   FontFaceSet(ExecutionContext& context)
       : ContextClient(&context),
-        ready_(MakeGarbageCollected<ReadyProperty>(GetExecutionContext(),
-                                                   this,
-                                                   ReadyProperty::kReady)) {}
+        ready_(MakeGarbageCollected<ReadyProperty>(GetExecutionContext())) {}
   ~FontFaceSet() override = default;
 
   DEFINE_ATTRIBUTE_EVENT_LISTENER(loading, kLoading)
@@ -94,7 +92,6 @@
   void FireDoneEvent();
 
   using ReadyProperty = ScriptPromiseProperty<Member<FontFaceSet>,
-                                              Member<FontFaceSet>,
                                               Member<DOMException>>;
 
   bool is_loading_ = false;
diff --git a/third_party/blink/renderer/core/dom/document.cc b/third_party/blink/renderer/core/dom/document.cc
index 979a286..7412d99 100644
--- a/third_party/blink/renderer/core/dom/document.cc
+++ b/third_party/blink/renderer/core/dom/document.cc
@@ -152,6 +152,7 @@
 #include "third_party/blink/renderer/core/events/visual_viewport_resize_event.h"
 #include "third_party/blink/renderer/core/events/visual_viewport_scroll_event.h"
 #include "third_party/blink/renderer/core/execution_context/agent_metrics_collector.h"
+#include "third_party/blink/renderer/core/execution_context/security_context_init.h"
 #include "third_party/blink/renderer/core/execution_context/window_agent.h"
 #include "third_party/blink/renderer/core/execution_context/window_agent_factory.h"
 #include "third_party/blink/renderer/core/feature_policy/dom_document_policy.h"
@@ -610,459 +611,6 @@
       online_observer_handle_;
 };
 
-// A helper class that allows the security context be initialized in the
-// process of constructing the document.
-class Document::SecurityContextInit : public FeaturePolicyParserDelegate {
-  STACK_ALLOCATED();
-
- public:
-  SecurityContextInit(const DocumentInit& initializer,
-                      DocumentClassFlags document_classes) {
-    // Content Security Policy can provide sandbox flags. In CSP
-    // 'self' will be determined when the policy is bound. That occurs
-    // once the document is constructed.
-    InitializeContentSecurityPolicy(initializer, document_classes);
-
-    // Sandbox flags can come from initializer, loader or CSP.
-    InitializeSandboxFlags(initializer);
-
-    // The origin can be opaque based on sandbox flags.
-    InitializeOrigin(initializer);
-
-    // The secure context state is based on the origin.
-    InitializeSecureContextMode(initializer);
-
-    // Initialize origin trials, requires the post sandbox flags
-    // security origin and secure context state.
-    InitializeOriginTrials(initializer);
-
-    // Initialize feature policy, depends on origin trials.
-    InitializeFeaturePolicy(initializer, document_classes);
-
-    // Initialize document policy.
-    document_policy_ =
-        DocumentPolicy::CreateWithHeaderPolicy(initializer.GetDocumentPolicy());
-
-    // Initialize the agent. Depends on security origin.
-    InitializeAgent(initializer);
-  }
-
-  const scoped_refptr<SecurityOrigin>& GetSecurityOrigin() const {
-    return security_origin_;
-  }
-
-  WebSandboxFlags GetSandboxFlags() { return sandbox_flags_; }
-
-  ContentSecurityPolicy* GetCSP() const { return csp_; }
-
-  std::unique_ptr<FeaturePolicy> TakeFeaturePolicy() {
-    DCHECK(feature_policy_);
-    return std::move(feature_policy_);
-  }
-
-  std::unique_ptr<DocumentPolicy> TakeDocumentPolicy() {
-    DCHECK(document_policy_);
-    return std::move(document_policy_);
-  }
-
-  const Vector<String>& FeaturePolicyParseMessages() const {
-    return feature_policy_parse_messages_;
-  }
-  const ParsedFeaturePolicy& ParsedHeader() const { return parsed_header_; }
-
-  OriginTrialContext* GetOriginTrialContext() { return origin_trials_; }
-
-  WindowAgentFactory* GetWindowAgentFactory() { return window_agent_factory_; }
-  Agent* GetAgent() { return agent_; }
-  SecureContextMode GetSecureContextMode() {
-    return secure_context_mode_.value();
-  }
-
-  void CountFeaturePolicyUsage(mojom::WebFeature feature) override {
-    feature_count_.insert(feature);
-  }
-
-  bool FeaturePolicyFeatureObserved(
-      mojom::FeaturePolicyFeature feature) override {
-    if (parsed_feature_policies_.Contains(feature))
-      return true;
-    parsed_feature_policies_.insert(feature);
-    return false;
-  }
-
-  bool FeatureEnabled(OriginTrialFeature feature) const override {
-    return origin_trials_->IsFeatureEnabled(feature);
-  }
-
-  void ApplyPendingDataToDocument(Document& document) {
-    for (auto feature : feature_count_)
-      UseCounter::Count(document, feature);
-    for (auto feature : parsed_feature_policies_)
-      document.FeaturePolicyFeatureObserved(feature);
-  }
-
-  bool BindCSPImmediately() const { return bind_csp_immediately_; }
-
- private:
-  void InitializeContentSecurityPolicy(const DocumentInit& initializer,
-                                       DocumentClassFlags document_classes) {
-    auto* frame = initializer.GetFrame();
-    ContentSecurityPolicy* last_origin_document_csp =
-        frame ? frame->Loader().GetLastOriginDocumentCSP() : nullptr;
-
-    KURL url;
-    if (initializer.ShouldSetURL())
-      url = initializer.Url().IsEmpty() ? BlankURL() : initializer.Url();
-
-    // Alias certain security properties from |owner_document|. Used for the
-    // case of about:blank pages inheriting the security properties of their
-    // requestor context.
-    //
-    // Note that this is currently somewhat broken; Blink always inherits from
-    // the parent or opener, even though it should actually be inherited from
-    // the request initiator.
-    if (url.IsEmpty() && initializer.HasSecurityContext() &&
-        !initializer.OriginToCommit() && initializer.OwnerDocument()) {
-      last_origin_document_csp =
-          initializer.OwnerDocument()->GetContentSecurityPolicy();
-    }
-
-    csp_ = initializer.GetContentSecurityPolicy();
-
-    if (!csp_) {
-      if (initializer.ImportsController()) {
-        // If this document is an HTML import, grab a reference to its master
-        // document's Content Security Policy. We don't bind the CSP's delegate
-        // in 'InitSecurityPolicy' in this case, as we can't rebind the master
-        // document's policy object: The Content Security Policy's delegate
-        // needs to remain set to the master document.
-        csp_ = initializer.ImportsController()
-                   ->Master()
-                   ->GetContentSecurityPolicy();
-        return;
-      }
-
-      csp_ = MakeGarbageCollected<ContentSecurityPolicy>();
-      bind_csp_immediately_ = true;
-    }
-
-    // We should inherit the navigation initiator CSP if the document is loaded
-    // using a local-scheme url.
-    //
-    // Note: about:srcdoc inherits CSP from its parent, not from its initiator.
-    // In this case, the initializer.GetContentSecurityPolicy() is used.
-    if (last_origin_document_csp && !url.IsAboutSrcdocURL() &&
-        (url.IsEmpty() || url.ProtocolIsAbout() || url.ProtocolIsData() ||
-         url.ProtocolIs("blob") || url.ProtocolIs("filesystem"))) {
-      csp_->CopyStateFrom(last_origin_document_csp);
-    }
-
-    if (document_classes & kPluginDocumentClass) {
-      if (last_origin_document_csp) {
-        csp_->CopyPluginTypesFrom(last_origin_document_csp);
-        return;
-      }
-
-      // TODO(andypaicu): This should inherit the origin document's plugin types
-      // but because this could be a OOPIF document it might not have access. In
-      // this situation we fallback on using the parent/opener:
-      if (frame) {
-        Frame* inherit_from = frame->Tree().Parent()
-                                  ? frame->Tree().Parent()
-                                  : frame->Client()->Opener();
-        if (inherit_from && frame != inherit_from) {
-          csp_->CopyPluginTypesFrom(
-              inherit_from->GetSecurityContext()->GetContentSecurityPolicy());
-        }
-      }
-    }
-  }
-
-  void InitializeSandboxFlags(const DocumentInit& initializer) {
-    sandbox_flags_ = initializer.GetSandboxFlags() | csp_->GetSandboxMask();
-    auto* frame = initializer.GetFrame();
-    if (frame && frame->Loader().GetDocumentLoader()->Archive()) {
-      // The URL of a Document loaded from a MHTML archive is controlled by
-      // the Content-Location header. This would allow UXSS, since
-      // Content-Location can be arbitrarily controlled to control the
-      // Document's URL and origin. Instead, force a Document loaded from a
-      // MHTML archive to be sandboxed, providing exceptions only for creating
-      // new windows.
-      sandbox_flags_ |=
-          (WebSandboxFlags::kAll &
-           ~(WebSandboxFlags::kPopups |
-             WebSandboxFlags::kPropagatesToAuxiliaryBrowsingContexts));
-    }
-  }
-
-  void InitializeOrigin(const DocumentInit& initializer) {
-    scoped_refptr<SecurityOrigin> document_origin =
-        initializer.GetDocumentOrigin();
-    if ((sandbox_flags_ & WebSandboxFlags::kOrigin) != WebSandboxFlags::kNone) {
-      scoped_refptr<SecurityOrigin> sandboxed_origin =
-          initializer.OriginToCommit()
-              ? initializer.OriginToCommit()
-              : document_origin->DeriveNewOpaqueOrigin();
-
-      // If we're supposed to inherit our security origin from our
-      // owner, but we're also sandboxed, the only things we inherit are
-      // the origin's potential trustworthiness and the ability to
-      // load local resources. The latter lets about:blank iframes in
-      // file:// URL documents load images and other resources from
-      // the file system.
-      //
-      // Note: Sandboxed about:srcdoc iframe without "allow-same-origin" aren't
-      // allowed to load user's file, even if its parent can.
-      if (initializer.OwnerDocument()) {
-        if (document_origin->IsPotentiallyTrustworthy())
-          sandboxed_origin->SetOpaqueOriginIsPotentiallyTrustworthy(true);
-        if (document_origin->CanLoadLocalResources() &&
-            !initializer.IsSrcdocDocument())
-          sandboxed_origin->GrantLoadLocalResources();
-      }
-      security_origin_ = sandboxed_origin;
-    } else {
-      security_origin_ = document_origin;
-    }
-
-    // If we are a page popup in LayoutTests ensure we use the popup
-    // owner's security origin so the tests can possibly access the
-    // document via internals API.
-    auto* frame = initializer.GetFrame();
-    if (IsPagePopupRunningInWebTest(frame)) {
-      security_origin_ = frame->PagePopupOwner()
-                             ->GetDocument()
-                             .GetSecurityOrigin()
-                             ->IsolatedCopy();
-    }
-
-    if (initializer.HasSecurityContext()) {
-      if (Settings* settings = initializer.GetSettings()) {
-        if (!settings->GetWebSecurityEnabled()) {
-          // Web security is turned off. We should let this document access
-          // every other document. This is used primary by testing harnesses for
-          // web sites.
-          security_origin_->GrantUniversalAccess();
-        } else if (security_origin_->IsLocal()) {
-          if (settings->GetAllowUniversalAccessFromFileURLs()) {
-            // Some clients want local URLs to have universal access, but that
-            // setting is dangerous for other clients.
-            security_origin_->GrantUniversalAccess();
-          } else if (!settings->GetAllowFileAccessFromFileURLs()) {
-            // Some clients do not want local URLs to have access to other local
-            // URLs.
-            security_origin_->BlockLocalAccessFromLocalOrigin();
-          }
-        }
-      }
-    }
-
-    if (initializer.GrantLoadLocalResources())
-      security_origin_->GrantLoadLocalResources();
-
-    if (security_origin_->IsOpaque() && initializer.ShouldSetURL()) {
-      KURL url = initializer.Url().IsEmpty() ? BlankURL() : initializer.Url();
-      if (SecurityOrigin::Create(url)->IsPotentiallyTrustworthy())
-        security_origin_->SetOpaqueOriginIsPotentiallyTrustworthy(true);
-    }
-  }
-
-  void InitializeFeaturePolicy(const DocumentInit& initializer,
-                               DocumentClassFlags document_classes) {
-    auto* frame = initializer.GetFrame();
-    // For a main frame, get inherited feature policy from the opener if any.
-    const FeaturePolicy::FeatureState* opener_feature_state = nullptr;
-    if (frame && frame->IsMainFrame() && !frame->OpenerFeatureState().empty()) {
-      opener_feature_state = &frame->OpenerFeatureState();
-    }
-
-    parsed_header_ = FeaturePolicyParser::ParseHeader(
-        initializer.FeaturePolicyHeader(), security_origin_,
-        &feature_policy_parse_messages_, this);
-
-    if (sandbox_flags_ != WebSandboxFlags::kNone &&
-        RuntimeEnabledFeatures::FeaturePolicyForSandboxEnabled()) {
-      // The sandbox flags might have come from CSP header or the browser; in
-      // such cases the sandbox is not part of the container policy. They are
-      // added to the header policy (which specifically makes sense in the case
-      // of CSP sandbox).
-      ApplySandboxFlagsToParsedFeaturePolicy(sandbox_flags_, parsed_header_);
-    }
-
-    ParsedFeaturePolicy container_policy;
-
-    if (frame && frame->Owner()) {
-        container_policy = initializer.GetFramePolicy()
-                               .value_or(FramePolicy())
-                               .container_policy;
-    }
-
-    // TODO(icelland): This is problematic querying sandbox flags before
-    // feature policy is initialized.
-    if (RuntimeEnabledFeatures::BlockingFocusWithoutUserActivationEnabled() &&
-        frame && frame->Tree().Parent() &&
-        (sandbox_flags_ & WebSandboxFlags::kNavigation) !=
-            WebSandboxFlags::kNone) {
-      // Enforcing the policy for sandbox frames (for context see
-      // https://crbug.com/954349).
-      DisallowFeatureIfNotPresent(
-          mojom::FeaturePolicyFeature::kFocusWithoutUserActivation,
-          container_policy);
-    }
-
-    const FeaturePolicy* parent_feature_policy = nullptr;
-    if (frame && !frame->IsMainFrame()) {
-      parent_feature_policy =
-          frame->Tree().Parent()->GetSecurityContext()->GetFeaturePolicy();
-    }
-
-    // If we are a HTMLViewSourceDocument we use container, header or
-    // inherited policies. https://crbug.com/898688
-    if (document_classes & kViewSourceDocumentClass) {
-      feature_policy_ = FeaturePolicy::CreateFromParentPolicy(
-          nullptr, {}, security_origin_->ToUrlOrigin());
-      return;
-    }
-
-    // Feature policy should either come from a parent in the case of an
-    // embedded child frame, or from an opener if any when a new window is
-    // created by an opener. A main frame without an opener would not have a
-    // parent policy nor an opener feature state.
-    DCHECK(!parent_feature_policy || !opener_feature_state);
-    if (!opener_feature_state ||
-        !RuntimeEnabledFeatures::FeaturePolicyForSandboxEnabled()) {
-      feature_policy_ = FeaturePolicy::CreateFromParentPolicy(
-          parent_feature_policy, container_policy,
-          security_origin_->ToUrlOrigin());
-    } else {
-      DCHECK(!parent_feature_policy);
-      feature_policy_ = FeaturePolicy::CreateWithOpenerPolicy(
-          *opener_feature_state, security_origin_->ToUrlOrigin());
-    }
-    feature_policy_->SetHeaderPolicy(parsed_header_);
-  }
-
-  void InitializeSecureContextMode(const DocumentInit& initializer) {
-    auto* frame = initializer.GetFrame();
-    if (!security_origin_->IsPotentiallyTrustworthy()) {
-      secure_context_mode_ = SecureContextMode::kInsecureContext;
-    } else if (SchemeRegistry::SchemeShouldBypassSecureContextCheck(
-                   security_origin_->Protocol())) {
-      secure_context_mode_ = SecureContextMode::kSecureContext;
-    } else if (frame) {
-      Frame* parent = frame->Tree().Parent();
-      while (parent) {
-        if (!parent->GetSecurityContext()
-                 ->GetSecurityOrigin()
-                 ->IsPotentiallyTrustworthy()) {
-          secure_context_mode_ = SecureContextMode::kInsecureContext;
-          break;
-        }
-        parent = parent->Tree().Parent();
-      }
-      if (!secure_context_mode_.has_value())
-        secure_context_mode_ = SecureContextMode::kSecureContext;
-    } else {
-      secure_context_mode_ = SecureContextMode::kInsecureContext;
-    }
-    bool is_secure = secure_context_mode_ == SecureContextMode::kSecureContext;
-    if (GetSandboxFlags() != WebSandboxFlags::kNone) {
-      feature_count_.insert(
-          is_secure ? WebFeature::kSecureContextCheckForSandboxedOriginPassed
-                    : WebFeature::kSecureContextCheckForSandboxedOriginFailed);
-    }
-    feature_count_.insert(is_secure ? WebFeature::kSecureContextCheckPassed
-                                    : WebFeature::kSecureContextCheckFailed);
-  }
-
-  void InitializeOriginTrials(const DocumentInit& initializer) {
-    DCHECK(secure_context_mode_.has_value());
-    origin_trials_ = MakeGarbageCollected<OriginTrialContext>();
-
-    const String& header_value = initializer.OriginTrialsHeader();
-
-    if (header_value.IsEmpty())
-      return;
-    std::unique_ptr<Vector<String>> tokens(
-        OriginTrialContext::ParseHeaderValue(header_value));
-    if (!tokens)
-      return;
-    origin_trials_->AddTokens(
-        security_origin_.get(),
-        secure_context_mode_ == SecureContextMode::kSecureContext, *tokens);
-  }
-
-  void InitializeAgent(const DocumentInit& initializer) {
-    auto* frame = initializer.GetFrame();
-
-    // If we are a page popup in LayoutTests ensure we use the popup
-    // owner's frame for looking up the Agent so the tests can possibly
-    // access the document via internals API.
-    if (IsPagePopupRunningInWebTest(frame)) {
-      frame = frame->PagePopupOwner()->GetDocument().GetFrame();
-    } else if (!frame) {
-      if (Document* context_document = initializer.ContextDocument()) {
-        frame = context_document->GetFrame();
-        window_agent_factory_ = context_document->window_agent_factory_;
-      } else if (const Document* owner_document = initializer.OwnerDocument()) {
-        frame = owner_document->GetFrame();
-        window_agent_factory_ = owner_document->window_agent_factory_;
-      }
-    }
-
-    if (!window_agent_factory_ && frame)
-      window_agent_factory_ = &frame->window_agent_factory();
-
-    // If we are allowed to share our document with other windows then we need
-    // to look at the window agent factory, otherwise we should create our own
-    // window agent.
-    if (window_agent_factory_) {
-      bool has_potential_universal_access_privilege = false;
-      if (frame) {
-        if (Settings* settings = frame->GetSettings()) {
-          // TODO(keishi): Also check if AllowUniversalAccessFromFileURLs might
-          // dynamically change.
-          if (!settings->GetWebSecurityEnabled() ||
-              settings->GetAllowUniversalAccessFromFileURLs())
-            has_potential_universal_access_privilege = true;
-        }
-      }
-      agent_ = window_agent_factory_->GetAgentForOrigin(
-          has_potential_universal_access_privilege,
-          V8PerIsolateData::MainThreadIsolate(), security_origin_.get());
-    } else {
-      // ContextDocument is null only for Documents created in unit tests.
-      // In that case, use a throw away WindowAgent.
-      agent_ = MakeGarbageCollected<WindowAgent>(
-          V8PerIsolateData::MainThreadIsolate());
-    }
-
-    // Derive possibly a new security origin that contains the cluster id.
-    security_origin_ =
-        security_origin_->GetOriginForAgentCluster(agent_->cluster_id());
-  }
-
-  bool IsPagePopupRunningInWebTest(LocalFrame* frame) {
-    return frame && frame->GetPage()->GetChromeClient().IsPopup() &&
-           WebTestSupport::IsRunningWebTest();
-  }
-
-  scoped_refptr<SecurityOrigin> security_origin_;
-  WebSandboxFlags sandbox_flags_ = WebSandboxFlags::kNone;
-  std::unique_ptr<FeaturePolicy> feature_policy_;
-  std::unique_ptr<DocumentPolicy> document_policy_;
-  Vector<String> feature_policy_parse_messages_;
-  ParsedFeaturePolicy parsed_header_;
-  Member<ContentSecurityPolicy> csp_;
-  Member<OriginTrialContext> origin_trials_;
-  Member<Agent> agent_;
-  Member<WindowAgentFactory> window_agent_factory_;
-  HashSet<mojom::FeaturePolicyFeature> parsed_feature_policies_;
-  HashSet<mojom::WebFeature> feature_count_;
-  bool bind_csp_immediately_ = false;
-  base::Optional<SecureContextMode> secure_context_mode_;
-};
-
 ExplicitlySetAttrElementsMap* Document::GetExplicitlySetAttrElementsMap(
     Element* element) {
   DCHECK(element);
diff --git a/third_party/blink/renderer/core/dom/document.h b/third_party/blink/renderer/core/dom/document.h
index b3845a55..eeeeee3 100644
--- a/third_party/blink/renderer/core/dom/document.h
+++ b/third_party/blink/renderer/core/dom/document.h
@@ -178,6 +178,7 @@
 class ScriptRunner;
 class ScriptableDocumentParser;
 class ScriptedAnimationController;
+class SecurityContextInit;
 class SecurityOrigin;
 class SelectorQueryCache;
 class SerializedScriptValue;
@@ -1499,7 +1500,9 @@
   LazyLoadImageObserver& EnsureLazyLoadImageObserver();
 
   WindowAgent& GetWindowAgent();
-  WindowAgentFactory* GetWindowAgentFactory() { return window_agent_factory_; }
+  WindowAgentFactory* GetWindowAgentFactory() const {
+    return window_agent_factory_;
+  }
 
   void CountPotentialFeaturePolicyViolation(
       mojom::FeaturePolicyFeature) const override;
@@ -1650,7 +1653,6 @@
   FRIEND_TEST_ALL_PREFIXES(FrameFetchContextSubresourceFilterTest,
                            DuringOnFreeze);
   class NetworkStateObserver;
-  class SecurityContextInit;
 
   Document(const DocumentInit& initization,
            SecurityContextInit init_helper,
diff --git a/third_party/blink/renderer/core/dom/node.cc b/third_party/blink/renderer/core/dom/node.cc
index 6b549cb..a789f5b 100644
--- a/third_party/blink/renderer/core/dom/node.cc
+++ b/third_party/blink/renderer/core/dom/node.cc
@@ -350,7 +350,7 @@
 
   DCHECK(data_.rare_data_);
   SetFlag(kHasRareDataFlag);
-  MarkingVisitor::WriteBarrier(RareData());
+  MarkingVisitor::WriteBarrier(&data_.rare_data_);
   return *RareData();
 }
 
@@ -1033,7 +1033,7 @@
   } else {
     data_.node_layout_data_ = node_layout_data;
     // We need the following line since data_.node_layout_data_ is not a Member.
-    MarkingVisitor::WriteBarrier(data_.node_layout_data_);
+    MarkingVisitor::WriteBarrier(&data_.node_layout_data_);
   }
 }
 
@@ -1070,7 +1070,7 @@
   } else {
     data_.node_layout_data_ = node_layout_data;
     // We need the following line since data_.node_layout_data_ is not a Member.
-    MarkingVisitor::WriteBarrier(data_.node_layout_data_);
+    MarkingVisitor::WriteBarrier(&data_.node_layout_data_);
   }
 }
 
@@ -3241,6 +3241,12 @@
                            : false;
 }
 
+LayoutBox* Node::AutoscrollBox() {
+  return nullptr;
+}
+
+void Node::StopAutoscroll() {}
+
 WebPluginContainerImpl* Node::GetWebPluginContainer() const {
   if (!IsA<HTMLObjectElement>(this) && !IsA<HTMLEmbedElement>(this)) {
     return nullptr;
diff --git a/third_party/blink/renderer/core/dom/node.h b/third_party/blink/renderer/core/dom/node.h
index 8e756c96a..dfa25fc 100644
--- a/third_party/blink/renderer/core/dom/node.h
+++ b/third_party/blink/renderer/core/dom/node.h
@@ -905,6 +905,9 @@
 
   bool IsEffectiveRootScroller() const;
 
+  virtual LayoutBox* AutoscrollBox();
+  virtual void StopAutoscroll();
+
   // If the node is a plugin, then this returns its WebPluginContainer.
   WebPluginContainerImpl* GetWebPluginContainer() const;
 
diff --git a/third_party/blink/renderer/core/events/event_type_names.json5 b/third_party/blink/renderer/core/events/event_type_names.json5
index 2b61d1c4..268495d 100644
--- a/third_party/blink/renderer/core/events/event_type_names.json5
+++ b/third_party/blink/renderer/core/events/event_type_names.json5
@@ -51,6 +51,7 @@
     "beforepaste",
     "beforeprint",
     "beforeunload",
+    "beforexrselect",
     "beginEvent",
     "blocked",
     "blur",
diff --git a/third_party/blink/renderer/core/execution_context/BUILD.gn b/third_party/blink/renderer/core/execution_context/BUILD.gn
index 504e537..e8859624 100644
--- a/third_party/blink/renderer/core/execution_context/BUILD.gn
+++ b/third_party/blink/renderer/core/execution_context/BUILD.gn
@@ -22,6 +22,8 @@
     "remote_security_context.h",
     "security_context.cc",
     "security_context.h",
+    "security_context_init.cc",
+    "security_context_init.h",
     "window_agent.cc",
     "window_agent.h",
     "window_agent_factory.cc",
diff --git a/third_party/blink/renderer/core/execution_context/security_context_init.cc b/third_party/blink/renderer/core/execution_context/security_context_init.cc
new file mode 100644
index 0000000..917f90d
--- /dev/null
+++ b/third_party/blink/renderer/core/execution_context/security_context_init.cc
@@ -0,0 +1,421 @@
+// Copyright 2020 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.
+
+#include "third_party/blink/renderer/core/execution_context/security_context_init.h"
+
+#include "third_party/blink/renderer/core/dom/document_init.h"
+#include "third_party/blink/renderer/core/dom/element.h"
+#include "third_party/blink/renderer/core/execution_context/window_agent.h"
+#include "third_party/blink/renderer/core/execution_context/window_agent_factory.h"
+#include "third_party/blink/renderer/core/feature_policy/feature_policy_parser.h"
+#include "third_party/blink/renderer/core/frame/csp/content_security_policy.h"
+#include "third_party/blink/renderer/core/frame/local_frame.h"
+#include "third_party/blink/renderer/core/frame/local_frame_client.h"
+#include "third_party/blink/renderer/core/frame/settings.h"
+#include "third_party/blink/renderer/core/html/imports/html_imports_controller.h"
+#include "third_party/blink/renderer/core/loader/document_loader.h"
+#include "third_party/blink/renderer/core/origin_trials/origin_trial_context.h"
+#include "third_party/blink/renderer/core/page/chrome_client.h"
+#include "third_party/blink/renderer/core/page/page.h"
+#include "third_party/blink/renderer/platform/web_test_support.h"
+
+namespace blink {
+
+bool IsPagePopupRunningInWebTest(LocalFrame* frame) {
+  return frame && frame->GetPage()->GetChromeClient().IsPopup() &&
+         WebTestSupport::IsRunningWebTest();
+}
+
+// A helper class that allows the security context be initialized in the
+// process of constructing the document.
+SecurityContextInit::SecurityContextInit(const DocumentInit& initializer,
+                                         DocumentClassFlags document_classes) {
+  // Content Security Policy can provide sandbox flags. In CSP
+  // 'self' will be determined when the policy is bound. That occurs
+  // once the document is constructed.
+  InitializeContentSecurityPolicy(initializer, document_classes);
+
+  // Sandbox flags can come from initializer, loader or CSP.
+  InitializeSandboxFlags(initializer);
+
+  // The origin can be opaque based on sandbox flags.
+  InitializeOrigin(initializer);
+
+  // The secure context state is based on the origin.
+  InitializeSecureContextMode(initializer);
+
+  // Initialize origin trials, requires the post sandbox flags
+  // security origin and secure context state.
+  InitializeOriginTrials(initializer);
+
+  // Initialize feature policy, depends on origin trials.
+  InitializeFeaturePolicy(initializer, document_classes);
+
+  // Initialize document policy.
+  document_policy_ =
+      DocumentPolicy::CreateWithHeaderPolicy(initializer.GetDocumentPolicy());
+
+  // Initialize the agent. Depends on security origin.
+  InitializeAgent(initializer);
+}
+
+bool SecurityContextInit::FeaturePolicyFeatureObserved(
+    mojom::FeaturePolicyFeature feature) {
+  if (parsed_feature_policies_.Contains(feature))
+    return true;
+  parsed_feature_policies_.insert(feature);
+  return false;
+}
+
+bool SecurityContextInit::FeatureEnabled(OriginTrialFeature feature) const {
+  return origin_trials_->IsFeatureEnabled(feature);
+}
+
+void SecurityContextInit::ApplyPendingDataToDocument(Document& document) {
+  for (auto feature : feature_count_)
+    UseCounter::Count(document, feature);
+  for (auto feature : parsed_feature_policies_)
+    document.FeaturePolicyFeatureObserved(feature);
+}
+
+void SecurityContextInit::InitializeContentSecurityPolicy(
+    const DocumentInit& initializer,
+    DocumentClassFlags document_classes) {
+  auto* frame = initializer.GetFrame();
+  ContentSecurityPolicy* last_origin_document_csp =
+      frame ? frame->Loader().GetLastOriginDocumentCSP() : nullptr;
+
+  KURL url;
+  if (initializer.ShouldSetURL())
+    url = initializer.Url().IsEmpty() ? BlankURL() : initializer.Url();
+
+  // Alias certain security properties from |owner_document|. Used for the
+  // case of about:blank pages inheriting the security properties of their
+  // requestor context.
+  //
+  // Note that this is currently somewhat broken; Blink always inherits from
+  // the parent or opener, even though it should actually be inherited from
+  // the request initiator.
+  if (url.IsEmpty() && initializer.HasSecurityContext() &&
+      !initializer.OriginToCommit() && initializer.OwnerDocument()) {
+    last_origin_document_csp =
+        initializer.OwnerDocument()->GetContentSecurityPolicy();
+  }
+
+  csp_ = initializer.GetContentSecurityPolicy();
+
+  if (!csp_) {
+    if (initializer.ImportsController()) {
+      // If this document is an HTML import, grab a reference to its master
+      // document's Content Security Policy. We don't bind the CSP's delegate
+      // in 'InitSecurityPolicy' in this case, as we can't rebind the master
+      // document's policy object: The Content Security Policy's delegate
+      // needs to remain set to the master document.
+      csp_ =
+          initializer.ImportsController()->Master()->GetContentSecurityPolicy();
+      return;
+    }
+
+    csp_ = MakeGarbageCollected<ContentSecurityPolicy>();
+    bind_csp_immediately_ = true;
+  }
+
+  // We should inherit the navigation initiator CSP if the document is loaded
+  // using a local-scheme url.
+  //
+  // Note: about:srcdoc inherits CSP from its parent, not from its initiator.
+  // In this case, the initializer.GetContentSecurityPolicy() is used.
+  if (last_origin_document_csp && !url.IsAboutSrcdocURL() &&
+      (url.IsEmpty() || url.ProtocolIsAbout() || url.ProtocolIsData() ||
+       url.ProtocolIs("blob") || url.ProtocolIs("filesystem"))) {
+    csp_->CopyStateFrom(last_origin_document_csp);
+  }
+
+  if (document_classes & kPluginDocumentClass) {
+    if (last_origin_document_csp) {
+      csp_->CopyPluginTypesFrom(last_origin_document_csp);
+      return;
+    }
+
+    // TODO(andypaicu): This should inherit the origin document's plugin types
+    // but because this could be a OOPIF document it might not have access. In
+    // this situation we fallback on using the parent/opener:
+    if (frame) {
+      Frame* inherit_from = frame->Tree().Parent() ? frame->Tree().Parent()
+                                                   : frame->Client()->Opener();
+      if (inherit_from && frame != inherit_from) {
+        csp_->CopyPluginTypesFrom(
+            inherit_from->GetSecurityContext()->GetContentSecurityPolicy());
+      }
+    }
+  }
+}
+
+void SecurityContextInit::InitializeSandboxFlags(
+    const DocumentInit& initializer) {
+  sandbox_flags_ = initializer.GetSandboxFlags() | csp_->GetSandboxMask();
+  auto* frame = initializer.GetFrame();
+  if (frame && frame->Loader().GetDocumentLoader()->Archive()) {
+    // The URL of a Document loaded from a MHTML archive is controlled by
+    // the Content-Location header. This would allow UXSS, since
+    // Content-Location can be arbitrarily controlled to control the
+    // Document's URL and origin. Instead, force a Document loaded from a
+    // MHTML archive to be sandboxed, providing exceptions only for creating
+    // new windows.
+    sandbox_flags_ |=
+        (WebSandboxFlags::kAll &
+         ~(WebSandboxFlags::kPopups |
+           WebSandboxFlags::kPropagatesToAuxiliaryBrowsingContexts));
+  }
+}
+
+void SecurityContextInit::InitializeOrigin(const DocumentInit& initializer) {
+  scoped_refptr<SecurityOrigin> document_origin =
+      initializer.GetDocumentOrigin();
+  if ((sandbox_flags_ & WebSandboxFlags::kOrigin) != WebSandboxFlags::kNone) {
+    scoped_refptr<SecurityOrigin> sandboxed_origin =
+        initializer.OriginToCommit() ? initializer.OriginToCommit()
+                                     : document_origin->DeriveNewOpaqueOrigin();
+
+    // If we're supposed to inherit our security origin from our
+    // owner, but we're also sandboxed, the only things we inherit are
+    // the origin's potential trustworthiness and the ability to
+    // load local resources. The latter lets about:blank iframes in
+    // file:// URL documents load images and other resources from
+    // the file system.
+    //
+    // Note: Sandboxed about:srcdoc iframe without "allow-same-origin" aren't
+    // allowed to load user's file, even if its parent can.
+    if (initializer.OwnerDocument()) {
+      if (document_origin->IsPotentiallyTrustworthy())
+        sandboxed_origin->SetOpaqueOriginIsPotentiallyTrustworthy(true);
+      if (document_origin->CanLoadLocalResources() &&
+          !initializer.IsSrcdocDocument())
+        sandboxed_origin->GrantLoadLocalResources();
+    }
+    security_origin_ = sandboxed_origin;
+  } else {
+    security_origin_ = document_origin;
+  }
+
+  // If we are a page popup in LayoutTests ensure we use the popup
+  // owner's security origin so the tests can possibly access the
+  // document via internals API.
+  auto* frame = initializer.GetFrame();
+  if (IsPagePopupRunningInWebTest(frame)) {
+    security_origin_ = frame->PagePopupOwner()
+                           ->GetDocument()
+                           .GetSecurityOrigin()
+                           ->IsolatedCopy();
+  }
+
+  if (initializer.HasSecurityContext()) {
+    if (Settings* settings = initializer.GetSettings()) {
+      if (!settings->GetWebSecurityEnabled()) {
+        // Web security is turned off. We should let this document access
+        // every other document. This is used primary by testing harnesses for
+        // web sites.
+        security_origin_->GrantUniversalAccess();
+      } else if (security_origin_->IsLocal()) {
+        if (settings->GetAllowUniversalAccessFromFileURLs()) {
+          // Some clients want local URLs to have universal access, but that
+          // setting is dangerous for other clients.
+          security_origin_->GrantUniversalAccess();
+        } else if (!settings->GetAllowFileAccessFromFileURLs()) {
+          // Some clients do not want local URLs to have access to other local
+          // URLs.
+          security_origin_->BlockLocalAccessFromLocalOrigin();
+        }
+      }
+    }
+  }
+
+  if (initializer.GrantLoadLocalResources())
+    security_origin_->GrantLoadLocalResources();
+
+  if (security_origin_->IsOpaque() && initializer.ShouldSetURL()) {
+    KURL url = initializer.Url().IsEmpty() ? BlankURL() : initializer.Url();
+    if (SecurityOrigin::Create(url)->IsPotentiallyTrustworthy())
+      security_origin_->SetOpaqueOriginIsPotentiallyTrustworthy(true);
+  }
+}
+
+void SecurityContextInit::InitializeFeaturePolicy(
+    const DocumentInit& initializer,
+    DocumentClassFlags document_classes) {
+  auto* frame = initializer.GetFrame();
+  // For a main frame, get inherited feature policy from the opener if any.
+  const FeaturePolicy::FeatureState* opener_feature_state = nullptr;
+  if (frame && frame->IsMainFrame() && !frame->OpenerFeatureState().empty()) {
+    opener_feature_state = &frame->OpenerFeatureState();
+  }
+
+  parsed_header_ = FeaturePolicyParser::ParseHeader(
+      initializer.FeaturePolicyHeader(), security_origin_,
+      &feature_policy_parse_messages_, this);
+
+  if (sandbox_flags_ != WebSandboxFlags::kNone &&
+      RuntimeEnabledFeatures::FeaturePolicyForSandboxEnabled()) {
+    // The sandbox flags might have come from CSP header or the browser; in
+    // such cases the sandbox is not part of the container policy. They are
+    // added to the header policy (which specifically makes sense in the case
+    // of CSP sandbox).
+    ApplySandboxFlagsToParsedFeaturePolicy(sandbox_flags_, parsed_header_);
+  }
+
+  ParsedFeaturePolicy container_policy;
+
+  if (frame && frame->Owner()) {
+    container_policy =
+        initializer.GetFramePolicy().value_or(FramePolicy()).container_policy;
+  }
+
+  // TODO(icelland): This is problematic querying sandbox flags before
+  // feature policy is initialized.
+  if (RuntimeEnabledFeatures::BlockingFocusWithoutUserActivationEnabled() &&
+      frame && frame->Tree().Parent() &&
+      (sandbox_flags_ & WebSandboxFlags::kNavigation) !=
+          WebSandboxFlags::kNone) {
+    // Enforcing the policy for sandbox frames (for context see
+    // https://crbug.com/954349).
+    DisallowFeatureIfNotPresent(
+        mojom::FeaturePolicyFeature::kFocusWithoutUserActivation,
+        container_policy);
+  }
+
+  const FeaturePolicy* parent_feature_policy = nullptr;
+  if (frame && !frame->IsMainFrame()) {
+    parent_feature_policy =
+        frame->Tree().Parent()->GetSecurityContext()->GetFeaturePolicy();
+  }
+
+  // If we are a HTMLViewSourceDocument we use container, header or
+  // inherited policies. https://crbug.com/898688
+  if (document_classes & kViewSourceDocumentClass) {
+    feature_policy_ = FeaturePolicy::CreateFromParentPolicy(
+        nullptr, {}, security_origin_->ToUrlOrigin());
+    return;
+  }
+
+  // Feature policy should either come from a parent in the case of an
+  // embedded child frame, or from an opener if any when a new window is
+  // created by an opener. A main frame without an opener would not have a
+  // parent policy nor an opener feature state.
+  DCHECK(!parent_feature_policy || !opener_feature_state);
+  if (!opener_feature_state ||
+      !RuntimeEnabledFeatures::FeaturePolicyForSandboxEnabled()) {
+    feature_policy_ = FeaturePolicy::CreateFromParentPolicy(
+        parent_feature_policy, container_policy,
+        security_origin_->ToUrlOrigin());
+  } else {
+    DCHECK(!parent_feature_policy);
+    feature_policy_ = FeaturePolicy::CreateWithOpenerPolicy(
+        *opener_feature_state, security_origin_->ToUrlOrigin());
+  }
+  feature_policy_->SetHeaderPolicy(parsed_header_);
+}
+
+void SecurityContextInit::InitializeSecureContextMode(
+    const DocumentInit& initializer) {
+  auto* frame = initializer.GetFrame();
+  if (!security_origin_->IsPotentiallyTrustworthy()) {
+    secure_context_mode_ = SecureContextMode::kInsecureContext;
+  } else if (SchemeRegistry::SchemeShouldBypassSecureContextCheck(
+                 security_origin_->Protocol())) {
+    secure_context_mode_ = SecureContextMode::kSecureContext;
+  } else if (frame) {
+    Frame* parent = frame->Tree().Parent();
+    while (parent) {
+      if (!parent->GetSecurityContext()
+               ->GetSecurityOrigin()
+               ->IsPotentiallyTrustworthy()) {
+        secure_context_mode_ = SecureContextMode::kInsecureContext;
+        break;
+      }
+      parent = parent->Tree().Parent();
+    }
+    if (!secure_context_mode_.has_value())
+      secure_context_mode_ = SecureContextMode::kSecureContext;
+  } else {
+    secure_context_mode_ = SecureContextMode::kInsecureContext;
+  }
+  bool is_secure = secure_context_mode_ == SecureContextMode::kSecureContext;
+  if (GetSandboxFlags() != WebSandboxFlags::kNone) {
+    feature_count_.insert(
+        is_secure ? WebFeature::kSecureContextCheckForSandboxedOriginPassed
+                  : WebFeature::kSecureContextCheckForSandboxedOriginFailed);
+  }
+  feature_count_.insert(is_secure ? WebFeature::kSecureContextCheckPassed
+                                  : WebFeature::kSecureContextCheckFailed);
+}
+
+void SecurityContextInit::InitializeOriginTrials(
+    const DocumentInit& initializer) {
+  DCHECK(secure_context_mode_.has_value());
+  origin_trials_ = MakeGarbageCollected<OriginTrialContext>();
+
+  const String& header_value = initializer.OriginTrialsHeader();
+
+  if (header_value.IsEmpty())
+    return;
+  std::unique_ptr<Vector<String>> tokens(
+      OriginTrialContext::ParseHeaderValue(header_value));
+  if (!tokens)
+    return;
+  origin_trials_->AddTokens(
+      security_origin_.get(),
+      secure_context_mode_ == SecureContextMode::kSecureContext, *tokens);
+}
+
+void SecurityContextInit::InitializeAgent(const DocumentInit& initializer) {
+  auto* frame = initializer.GetFrame();
+
+  // If we are a page popup in LayoutTests ensure we use the popup
+  // owner's frame for looking up the Agent so the tests can possibly
+  // access the document via internals API.
+  if (IsPagePopupRunningInWebTest(frame)) {
+    frame = frame->PagePopupOwner()->GetDocument().GetFrame();
+  } else if (!frame) {
+    if (Document* context_document = initializer.ContextDocument()) {
+      frame = context_document->GetFrame();
+      window_agent_factory_ = context_document->GetWindowAgentFactory();
+    } else if (const Document* owner_document = initializer.OwnerDocument()) {
+      frame = owner_document->GetFrame();
+      window_agent_factory_ = owner_document->GetWindowAgentFactory();
+    }
+  }
+
+  if (!window_agent_factory_ && frame)
+    window_agent_factory_ = &frame->window_agent_factory();
+
+  // If we are allowed to share our document with other windows then we need
+  // to look at the window agent factory, otherwise we should create our own
+  // window agent.
+  if (window_agent_factory_) {
+    bool has_potential_universal_access_privilege = false;
+    if (frame) {
+      if (Settings* settings = frame->GetSettings()) {
+        // TODO(keishi): Also check if AllowUniversalAccessFromFileURLs might
+        // dynamically change.
+        if (!settings->GetWebSecurityEnabled() ||
+            settings->GetAllowUniversalAccessFromFileURLs())
+          has_potential_universal_access_privilege = true;
+      }
+    }
+    agent_ = window_agent_factory_->GetAgentForOrigin(
+        has_potential_universal_access_privilege,
+        V8PerIsolateData::MainThreadIsolate(), security_origin_.get());
+  } else {
+    // ContextDocument is null only for Documents created in unit tests.
+    // In that case, use a throw away WindowAgent.
+    agent_ = MakeGarbageCollected<WindowAgent>(
+        V8PerIsolateData::MainThreadIsolate());
+  }
+
+  // Derive possibly a new security origin that contains the cluster id.
+  security_origin_ =
+      security_origin_->GetOriginForAgentCluster(agent_->cluster_id());
+}
+
+}  // namespace blink
diff --git a/third_party/blink/renderer/core/execution_context/security_context_init.h b/third_party/blink/renderer/core/execution_context/security_context_init.h
new file mode 100644
index 0000000..abfc480
--- /dev/null
+++ b/third_party/blink/renderer/core/execution_context/security_context_init.h
@@ -0,0 +1,105 @@
+// Copyright 2020 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_RENDERER_CORE_EXECUTION_CONTEXT_SECURITY_CONTEXT_INIT_H_
+#define THIRD_PARTY_BLINK_RENDERER_CORE_EXECUTION_CONTEXT_SECURITY_CONTEXT_INIT_H_
+
+#include "third_party/blink/public/common/feature_policy/feature_policy.h"
+#include "third_party/blink/public/mojom/feature_policy/feature_policy_feature.mojom-blink.h"
+#include "third_party/blink/renderer/core/execution_context/execution_context.h"
+#include "third_party/blink/renderer/core/feature_policy/feature_policy_parser_delegate.h"
+#include "third_party/blink/renderer/core/frame/web_feature.h"
+#include "third_party/blink/renderer/platform/heap/handle.h"
+#include "third_party/blink/renderer/platform/wtf/hash_set.h"
+#include "third_party/blink/renderer/platform/wtf/vector.h"
+
+namespace blink {
+class Agent;
+class ContentSecurityPolicy;
+class Document;
+class DocumentInit;
+class OriginTrialContext;
+class SecurityOrigin;
+class SecurityOrigin;
+enum class WebSandboxFlags;
+class WindowAgentFactory;
+
+using DocumentClassFlags = unsigned char;
+
+class SecurityContextInit : public FeaturePolicyParserDelegate {
+  STACK_ALLOCATED();
+
+ public:
+  explicit SecurityContextInit(const DocumentInit&, DocumentClassFlags);
+
+  const scoped_refptr<SecurityOrigin>& GetSecurityOrigin() const {
+    return security_origin_;
+  }
+
+  WebSandboxFlags GetSandboxFlags() { return sandbox_flags_; }
+
+  ContentSecurityPolicy* GetCSP() const { return csp_; }
+
+  std::unique_ptr<FeaturePolicy> TakeFeaturePolicy() {
+    DCHECK(feature_policy_);
+    return std::move(feature_policy_);
+  }
+
+  std::unique_ptr<DocumentPolicy> TakeDocumentPolicy() {
+    DCHECK(document_policy_);
+    return std::move(document_policy_);
+  }
+
+  const Vector<String>& FeaturePolicyParseMessages() const {
+    return feature_policy_parse_messages_;
+  }
+  const ParsedFeaturePolicy& ParsedHeader() const { return parsed_header_; }
+
+  OriginTrialContext* GetOriginTrialContext() { return origin_trials_; }
+
+  WindowAgentFactory* GetWindowAgentFactory() { return window_agent_factory_; }
+  Agent* GetAgent() { return agent_; }
+  SecureContextMode GetSecureContextMode() {
+    return secure_context_mode_.value();
+  }
+
+  void CountFeaturePolicyUsage(mojom::WebFeature feature) override {
+    feature_count_.insert(feature);
+  }
+
+  bool FeaturePolicyFeatureObserved(mojom::FeaturePolicyFeature) override;
+  bool FeatureEnabled(OriginTrialFeature feature) const override;
+
+  void ApplyPendingDataToDocument(Document&);
+
+  bool BindCSPImmediately() const { return bind_csp_immediately_; }
+
+ private:
+  void InitializeContentSecurityPolicy(const DocumentInit&, DocumentClassFlags);
+  void InitializeOrigin(const DocumentInit&);
+  void InitializeSandboxFlags(const DocumentInit&);
+  void InitializeFeaturePolicy(const DocumentInit&, DocumentClassFlags);
+  void InitializeSecureContextMode(const DocumentInit&);
+  void InitializeOriginTrials(const DocumentInit&);
+  void InitializeAgent(const DocumentInit&);
+
+  scoped_refptr<SecurityOrigin> security_origin_;
+  WebSandboxFlags sandbox_flags_ = WebSandboxFlags::kNone;
+  std::unique_ptr<FeaturePolicy> feature_policy_;
+  std::unique_ptr<DocumentPolicy> document_policy_;
+  Vector<String> feature_policy_parse_messages_;
+  ParsedFeaturePolicy parsed_header_;
+  Member<ContentSecurityPolicy> csp_;
+  Member<OriginTrialContext> origin_trials_;
+  Member<Agent> agent_;
+  Member<WindowAgentFactory> window_agent_factory_;
+  HashSet<mojom::FeaturePolicyFeature> parsed_feature_policies_;
+  HashSet<mojom::WebFeature> feature_count_;
+  bool bind_csp_immediately_ = false;
+  base::Optional<SecureContextMode> secure_context_mode_;
+};
+
+}  // namespace blink
+
+#endif  // THIRD_PARTY_BLINK_RENDERER_CORE_EXECUTION_CONTEXT_SECURITY_CONTEXT_INIT_H_
diff --git a/third_party/blink/renderer/core/fetch/request.cc b/third_party/blink/renderer/core/fetch/request.cc
index 869d45868..51304b94e 100644
--- a/third_party/blink/renderer/core/fetch/request.cc
+++ b/third_party/blink/renderer/core/fetch/request.cc
@@ -4,6 +4,7 @@
 
 #include "third_party/blink/renderer/core/fetch/request.h"
 
+#include "base/optional.h"
 #include "mojo/public/cpp/bindings/pending_remote.h"
 #include "services/network/public/cpp/request_destination.h"
 #include "services/network/public/cpp/request_mode.h"
@@ -417,9 +418,10 @@
   // "If |credentials| is non-null, set |request|'s credentials mode to
   // |credentials|."
 
-  network::mojom::CredentialsMode credentials_mode;
-  if (ParseCredentialsMode(init->credentials(), &credentials_mode)) {
-    request->SetCredentials(credentials_mode);
+  base::Optional<network::mojom::CredentialsMode> credentials_result =
+      ParseCredentialsMode(init->credentials());
+  if (credentials_result) {
+    request->SetCredentials(credentials_result.value());
   } else if (!input_request) {
     request->SetCredentials(network::mojom::CredentialsMode::kSameOrigin);
   }
@@ -651,21 +653,15 @@
   return MakeGarbageCollected<Request>(script_state, data);
 }
 
-bool Request::ParseCredentialsMode(const String& credentials_mode,
-                                   network::mojom::CredentialsMode* result) {
-  if (credentials_mode == "omit") {
-    *result = network::mojom::CredentialsMode::kOmit;
-    return true;
-  }
-  if (credentials_mode == "same-origin") {
-    *result = network::mojom::CredentialsMode::kSameOrigin;
-    return true;
-  }
-  if (credentials_mode == "include") {
-    *result = network::mojom::CredentialsMode::kInclude;
-    return true;
-  }
-  return false;
+base::Optional<network::mojom::CredentialsMode> Request::ParseCredentialsMode(
+    const String& credentials_mode) {
+  if (credentials_mode == "omit")
+    return network::mojom::CredentialsMode::kOmit;
+  if (credentials_mode == "same-origin")
+    return network::mojom::CredentialsMode::kSameOrigin;
+  if (credentials_mode == "include")
+    return network::mojom::CredentialsMode::kInclude;
+  return base::nullopt;
 }
 
 Request::Request(ScriptState* script_state,
diff --git a/third_party/blink/renderer/core/fetch/request.h b/third_party/blink/renderer/core/fetch/request.h
index 17bd42c..2f5481d 100644
--- a/third_party/blink/renderer/core/fetch/request.h
+++ b/third_party/blink/renderer/core/fetch/request.h
@@ -5,6 +5,7 @@
 #ifndef THIRD_PARTY_BLINK_RENDERER_CORE_FETCH_REQUEST_H_
 #define THIRD_PARTY_BLINK_RENDERER_CORE_FETCH_REQUEST_H_
 
+#include "base/optional.h"
 #include "services/network/public/mojom/fetch_api.mojom-blink-forward.h"
 #include "third_party/blink/public/mojom/fetch/fetch_api_request.mojom-blink-forward.h"
 #include "third_party/blink/public/platform/web_url_request.h"
@@ -61,10 +62,8 @@
   Request(ScriptState*, FetchRequestData*, Headers*, AbortSignal*);
   Request(ScriptState*, FetchRequestData*);
 
-  // Returns false if |credentials_mode| doesn't represent a valid credentials
-  // mode.
-  static bool ParseCredentialsMode(const String& credentials_mode,
-                                   network::mojom::CredentialsMode*);
+  static base::Optional<network::mojom::CredentialsMode> ParseCredentialsMode(
+      const String& credentials_mode);
 
   // From Request.idl:
   String method() const;
diff --git a/third_party/blink/renderer/core/html/forms/base_checkable_input_type.cc b/third_party/blink/renderer/core/html/forms/base_checkable_input_type.cc
index 93da5c3..21b72a2 100644
--- a/third_party/blink/renderer/core/html/forms/base_checkable_input_type.cc
+++ b/third_party/blink/renderer/core/html/forms/base_checkable_input_type.cc
@@ -121,4 +121,8 @@
   return true;
 }
 
+bool BaseCheckableInputType::TypeShouldForceLegacyLayout() const {
+  return false;
+}
+
 }  // namespace blink
diff --git a/third_party/blink/renderer/core/html/forms/base_checkable_input_type.h b/third_party/blink/renderer/core/html/forms/base_checkable_input_type.h
index d9696d3..d72a5de 100644
--- a/third_party/blink/renderer/core/html/forms/base_checkable_input_type.h
+++ b/third_party/blink/renderer/core/html/forms/base_checkable_input_type.h
@@ -70,6 +70,7 @@
                 TextControlSetValueSelection) final;
   void ReadingChecked() const final;
   bool IsCheckable() final;
+  bool TypeShouldForceLegacyLayout() const final;
 };
 
 }  // namespace blink
diff --git a/third_party/blink/renderer/core/html/forms/file_input_type.cc b/third_party/blink/renderer/core/html/forms/file_input_type.cc
index 5e07aa0..48ac27ec 100644
--- a/third_party/blink/renderer/core/html/forms/file_input_type.cc
+++ b/third_party/blink/renderer/core/html/forms/file_input_type.cc
@@ -326,25 +326,27 @@
           GetElement().Multiple() ? IDS_FORM_MULTIPLE_FILES_BUTTON_LABEL
                                   : IDS_FORM_FILE_BUTTON_LABEL)));
   button->SetShadowPseudoId(AtomicString("-webkit-file-upload-button"));
+  button->SetActive(GetElement().CanReceiveDroppedFiles());
   GetElement().UserAgentShadowRoot()->AppendChild(button);
 }
 
+HTMLInputElement* FileInputType::UploadButton() const {
+  Node* node = GetElement().UserAgentShadowRoot()->firstChild();
+  CHECK(!node || IsA<HTMLInputElement>(node));
+  return To<HTMLInputElement>(node);
+}
+
 void FileInputType::DisabledAttributeChanged() {
   DCHECK(IsShadowHost(GetElement()));
-  CHECK(!GetElement().UserAgentShadowRoot()->firstChild() ||
-        IsA<Element>(GetElement().UserAgentShadowRoot()->firstChild()));
-  if (Element* button =
-          To<Element>(GetElement().UserAgentShadowRoot()->firstChild()))
+  if (Element* button = UploadButton()) {
     button->SetBooleanAttribute(html_names::kDisabledAttr,
                                 GetElement().IsDisabledFormControl());
+  }
 }
 
 void FileInputType::MultipleAttributeChanged() {
   DCHECK(IsShadowHost(GetElement()));
-  CHECK(!GetElement().UserAgentShadowRoot()->firstChild() ||
-        IsA<Element>(GetElement().UserAgentShadowRoot()->firstChild()));
-  if (Element* button =
-          To<Element>(GetElement().UserAgentShadowRoot()->firstChild())) {
+  if (Element* button = UploadButton()) {
     button->setAttribute(
         html_names::kValueAttr,
         AtomicString(GetLocale().QueryString(
diff --git a/third_party/blink/renderer/core/html/forms/file_input_type.h b/third_party/blink/renderer/core/html/forms/file_input_type.h
index 256a752..b2e94cad 100644
--- a/third_party/blink/renderer/core/html/forms/file_input_type.h
+++ b/third_party/blink/renderer/core/html/forms/file_input_type.h
@@ -88,6 +88,7 @@
   bool ReceiveDroppedFiles(const DragData*) override;
   String DroppedFileSystemId() override;
   void CreateShadowSubtree() override;
+  HTMLInputElement* UploadButton() const override;
   void DisabledAttributeChanged() override;
   void MultipleAttributeChanged() override;
   String DefaultToolTip(const InputTypeView&) const override;
diff --git a/third_party/blink/renderer/core/html/forms/html_form_control_element_with_state.h b/third_party/blink/renderer/core/html/forms/html_form_control_element_with_state.h
index c023906..f5e11249c 100644
--- a/third_party/blink/renderer/core/html/forms/html_form_control_element_with_state.h
+++ b/third_party/blink/renderer/core/html/forms/html_form_control_element_with_state.h
@@ -61,7 +61,7 @@
   bool IsFormControlElementWithState() const final;
 
  private:
-  bool TypeShouldForceLegacyLayout() const final { return true; }
+  bool TypeShouldForceLegacyLayout() const override { return true; }
   int DefaultTabIndex() const override;
 
   // https://html.spec.whatwg.org/C/#autofill-anchor-mantle
diff --git a/third_party/blink/renderer/core/html/forms/html_input_element.cc b/third_party/blink/renderer/core/html/forms/html_input_element.cc
index e25e24fe7..1ea89ad9 100644
--- a/third_party/blink/renderer/core/html/forms/html_input_element.cc
+++ b/third_party/blink/renderer/core/html/forms/html_input_element.cc
@@ -882,6 +882,11 @@
          TextControlElement::LayoutObjectIsNeeded(style);
 }
 
+// TODO(crbug.com/1040826): Remove this override.
+bool HTMLInputElement::TypeShouldForceLegacyLayout() const {
+  return input_type_view_->TypeShouldForceLegacyLayout();
+}
+
 LayoutObject* HTMLInputElement::CreateLayoutObject(const ComputedStyle& style,
                                                    LegacyLayout legacy) {
   return input_type_view_->CreateLayoutObject(style, legacy);
@@ -1538,8 +1543,12 @@
   if (!!can_receive_dropped_files_ == can_receive_dropped_files)
     return;
   can_receive_dropped_files_ = can_receive_dropped_files;
-  if (GetLayoutObject())
-    GetLayoutObject()->UpdateFromElement();
+  if (HTMLInputElement* button = UploadButton())
+    button->SetActive(can_receive_dropped_files);
+}
+
+HTMLInputElement* HTMLInputElement::UploadButton() const {
+  return input_type_view_->UploadButton();
 }
 
 String HTMLInputElement::SanitizeValue(const String& proposed_value) const {
diff --git a/third_party/blink/renderer/core/html/forms/html_input_element.h b/third_party/blink/renderer/core/html/forms/html_input_element.h
index 564e283..508dde07 100644
--- a/third_party/blink/renderer/core/html/forms/html_input_element.h
+++ b/third_party/blink/renderer/core/html/forms/html_input_element.h
@@ -235,6 +235,10 @@
   bool CanReceiveDroppedFiles() const;
   void SetCanReceiveDroppedFiles(bool);
 
+  // Returns 'Choose File(s)' button in a file control. This returns
+  // nullptr for other input types.
+  HTMLInputElement* UploadButton() const;
+
   void OnSearch();
 
   void UpdateClearButtonVisibility();
@@ -361,6 +365,7 @@
 
   void CloneNonAttributePropertiesFrom(const Element&, CloneChildrenFlag) final;
 
+  bool TypeShouldForceLegacyLayout() const final;
   void AttachLayoutTree(AttachContext&) final;
 
   void AppendToFormData(FormData&) final;
diff --git a/third_party/blink/renderer/core/html/forms/html_select_element.cc b/third_party/blink/renderer/core/html/forms/html_select_element.cc
index b25fcd2d..01ad655 100644
--- a/third_party/blink/renderer/core/html/forms/html_select_element.cc
+++ b/third_party/blink/renderer/core/html/forms/html_select_element.cc
@@ -31,6 +31,7 @@
 
 #include "build/build_config.h"
 #include "third_party/blink/public/platform/task_type.h"
+#include "third_party/blink/public/platform/web_scroll_into_view_params.h"
 #include "third_party/blink/public/strings/grit/blink_strings.h"
 #include "third_party/blink/renderer/bindings/core/v8/html_element_or_long.h"
 #include "third_party/blink/renderer/bindings/core/v8/html_option_element_or_html_opt_group_element.h"
@@ -74,6 +75,8 @@
 #include "third_party/blink/renderer/core/page/chrome_client.h"
 #include "third_party/blink/renderer/core/page/page.h"
 #include "third_party/blink/renderer/core/page/spatial_navigation.h"
+#include "third_party/blink/renderer/core/paint/paint_layer.h"
+#include "third_party/blink/renderer/core/paint/paint_layer_scrollable_area.h"
 #include "third_party/blink/renderer/platform/bindings/exception_state.h"
 #include "third_party/blink/renderer/platform/heap/heap.h"
 #include "third_party/blink/renderer/platform/instrumentation/tracing/trace_event.h"
@@ -937,7 +940,18 @@
   if (!GetLayoutObject() || !GetLayoutObject()->IsListBox())
     return;
   PhysicalRect bounds = option->BoundingBoxForScrollIntoView();
-  ToLayoutListBox(GetLayoutObject())->ScrollToRect(bounds);
+
+  // The following code will not scroll parent boxes unlike ScrollRectToVisible.
+  auto* box = GetLayoutBox();
+  if (!box->HasOverflowClip())
+    return;
+  DCHECK(box->Layer());
+  DCHECK(box->Layer()->GetScrollableArea());
+  box->Layer()->GetScrollableArea()->ScrollIntoView(
+      bounds, WebScrollIntoViewParams(ScrollAlignment::kAlignToEdgeIfNeeded,
+                                      ScrollAlignment::kAlignToEdgeIfNeeded,
+                                      kProgrammaticScroll, false,
+                                      kScrollBehaviorInstant));
 }
 
 void HTMLSelectElement::OptionSelectionStateChanged(HTMLOptionElement* option,
@@ -1516,6 +1530,15 @@
   return nullptr;
 }
 
+LayoutBox* HTMLSelectElement::AutoscrollBox() {
+  return !UsesMenuList() ? GetLayoutBox() : nullptr;
+}
+
+void HTMLSelectElement::StopAutoscroll() {
+  if (!UsesMenuList() && !IsDisabledFormControl())
+    HandleMouseRelease();
+}
+
 void HTMLSelectElement::HandleMouseRelease() {
   // We didn't start this click/drag on any options.
   if (last_on_change_selection_.IsEmpty())
diff --git a/third_party/blink/renderer/core/html/forms/html_select_element.h b/third_party/blink/renderer/core/html/forms/html_select_element.h
index 5bfbc9c..4e4258d 100644
--- a/third_party/blink/renderer/core/html/forms/html_select_element.h
+++ b/third_party/blink/renderer/core/html/forms/html_select_element.h
@@ -272,6 +272,8 @@
                                                   SkipDirection) const;
   HTMLOptionElement* EventTargetOption(const Event&);
   AutoscrollController* GetAutoscrollController() const;
+  LayoutBox* AutoscrollBox() override;
+  void StopAutoscroll() override;
   void ScrollToOptionTask();
 
   bool AreAuthorShadowsAllowed() const override { return false; }
diff --git a/third_party/blink/renderer/core/html/forms/input_type_view.cc b/third_party/blink/renderer/core/html/forms/input_type_view.cc
index ed41b3c..2014fe1 100644
--- a/third_party/blink/renderer/core/html/forms/input_type_view.cc
+++ b/third_party/blink/renderer/core/html/forms/input_type_view.cc
@@ -87,6 +87,10 @@
   return GetElement().Form();
 }
 
+bool InputTypeView::TypeShouldForceLegacyLayout() const {
+  return true;
+}
+
 LayoutObject* InputTypeView::CreateLayoutObject(const ComputedStyle& style,
                                                 LegacyLayout legacy) const {
   return LayoutObject::CreateObject(&GetElement(), style, legacy);
@@ -128,6 +132,10 @@
     root->RemoveChildren();
 }
 
+HTMLInputElement* InputTypeView::UploadButton() const {
+  return nullptr;
+}
+
 void InputTypeView::AltAttributeChanged() {}
 
 void InputTypeView::SrcAttributeChanged() {}
diff --git a/third_party/blink/renderer/core/html/forms/input_type_view.h b/third_party/blink/renderer/core/html/forms/input_type_view.h
index ef47dea..1b37781 100644
--- a/third_party/blink/renderer/core/html/forms/input_type_view.h
+++ b/third_party/blink/renderer/core/html/forms/input_type_view.h
@@ -99,6 +99,7 @@
   void DispatchSimulatedClickIfActive(KeyboardEvent&) const;
 
   virtual void SubtreeHasChanged();
+  virtual bool TypeShouldForceLegacyLayout() const;
   virtual LayoutObject* CreateLayoutObject(const ComputedStyle&,
                                            LegacyLayout) const;
   virtual scoped_refptr<ComputedStyle> CustomStyleForLayoutObject(
@@ -106,9 +107,14 @@
   virtual TextDirection ComputedTextDirection();
   virtual void StartResourceLoading();
   virtual void ClosePopupView();
+
+  // Functions for shadow trees
+
   virtual bool NeedsShadowSubtree() const;
   virtual void CreateShadowSubtree();
   virtual void DestroyShadowSubtree();
+  virtual HTMLInputElement* UploadButton() const;
+
   virtual void MinOrMaxAttributeChanged();
   virtual void StepAttributeChanged();
   virtual void AltAttributeChanged();
diff --git a/third_party/blink/renderer/core/html/html_meter_element.h b/third_party/blink/renderer/core/html/html_meter_element.h
index c71725e..3a6e50e 100644
--- a/third_party/blink/renderer/core/html/html_meter_element.h
+++ b/third_party/blink/renderer/core/html/html_meter_element.h
@@ -71,7 +71,6 @@
   bool AreAuthorShadowsAllowed() const override { return false; }
 
   bool IsLabelable() const override { return true; }
-  bool TypeShouldForceLegacyLayout() const final { return true; }
 
   LayoutObject* CreateLayoutObject(const ComputedStyle&, LegacyLayout) override;
   void ParseAttribute(const AttributeModificationParams&) override;
diff --git a/third_party/blink/renderer/core/input/event_handling_util.h b/third_party/blink/renderer/core/input/event_handling_util.h
index a0ceb95..3454664 100644
--- a/third_party/blink/renderer/core/input/event_handling_util.h
+++ b/third_party/blink/renderer/core/input/event_handling_util.h
@@ -6,6 +6,7 @@
 #define THIRD_PARTY_BLINK_RENDERER_CORE_INPUT_EVENT_HANDLING_UTIL_H_
 
 #include "third_party/blink/public/platform/web_input_event_result.h"
+#include "third_party/blink/renderer/core/core_export.h"
 #include "third_party/blink/renderer/core/dom/element.h"
 #include "third_party/blink/renderer/core/frame/local_frame.h"
 #include "third_party/blink/renderer/core/layout/geometry/physical_offset.h"
@@ -23,7 +24,7 @@
 
 namespace event_handling_util {
 
-HitTestResult HitTestResultInFrame(
+CORE_EXPORT HitTestResult HitTestResultInFrame(
     LocalFrame*,
     const HitTestLocation&,
     HitTestRequest::HitTestRequestType hit_type = HitTestRequest::kReadOnly |
diff --git a/third_party/blink/renderer/core/layout/layout_box.h b/third_party/blink/renderer/core/layout/layout_box.h
index 0f70b666..f05c517 100644
--- a/third_party/blink/renderer/core/layout/layout_box.h
+++ b/third_party/blink/renderer/core/layout/layout_box.h
@@ -1166,7 +1166,6 @@
       const FloatPoint& point_in_root_frame) const;
   static LayoutBox* FindAutoscrollable(LayoutObject*,
                                        bool is_middle_click_autoscroll);
-  virtual void StopAutoscroll() {}
   virtual void MayUpdateHoverWhenContentUnderMouseChanged(EventHandler&);
 
   DISABLE_CFI_PERF bool HasAutoVerticalScrollbar() const {
diff --git a/third_party/blink/renderer/core/layout/layout_file_upload_control.cc b/third_party/blink/renderer/core/layout/layout_file_upload_control.cc
index 737a0bc..bf2b1e4 100644
--- a/third_party/blink/renderer/core/layout/layout_file_upload_control.cc
+++ b/third_party/blink/renderer/core/layout/layout_file_upload_control.cc
@@ -39,8 +39,7 @@
 const int kButtonShadowHeight = 2;
 
 LayoutFileUploadControl::LayoutFileUploadControl(HTMLInputElement* input)
-    : LayoutBlockFlow(input),
-      can_receive_dropped_files_(input->CanReceiveDroppedFiles()) {}
+    : LayoutBlockFlow(input) {}
 
 LayoutFileUploadControl::~LayoutFileUploadControl() = default;
 
@@ -48,14 +47,6 @@
   auto* input = To<HTMLInputElement>(GetNode());
   DCHECK_EQ(input->type(), input_type_names::kFile);
 
-  if (HTMLInputElement* button = UploadButton()) {
-    bool new_can_receive_dropped_files_state = input->CanReceiveDroppedFiles();
-    if (can_receive_dropped_files_ != new_can_receive_dropped_files_state) {
-      can_receive_dropped_files_ = new_can_receive_dropped_files_state;
-      button->SetActive(new_can_receive_dropped_files_state);
-    }
-  }
-
   // This only supports clearing out the files, but that's OK because for
   // security reasons that's the only change the DOM is allowed to make.
   FileList* files = input->files();
@@ -159,18 +150,7 @@
 }
 
 HTMLInputElement* LayoutFileUploadControl::UploadButton() const {
-  // FIXME: This should be on HTMLInputElement as an API like
-  // innerButtonElement().
-  auto* input = To<HTMLInputElement>(GetNode());
-  return DynamicTo<HTMLInputElement>(
-      input->UserAgentShadowRoot()->firstChild());
-}
-
-String LayoutFileUploadControl::ButtonValue() {
-  if (HTMLInputElement* button = UploadButton())
-    return button->value();
-
-  return String();
+  return To<HTMLInputElement>(GetNode())->UploadButton();
 }
 
 String LayoutFileUploadControl::FileTextValue() const {
diff --git a/third_party/blink/renderer/core/layout/layout_file_upload_control.h b/third_party/blink/renderer/core/layout/layout_file_upload_control.h
index 83aceca..d649472 100644
--- a/third_party/blink/renderer/core/layout/layout_file_upload_control.h
+++ b/third_party/blink/renderer/core/layout/layout_file_upload_control.h
@@ -44,11 +44,9 @@
            LayoutBlockFlow::IsOfType(type);
   }
 
-  String ButtonValue();
   String FileTextValue() const;
 
   HTMLInputElement* UploadButton() const;
-  int UploadButtonWidth();
 
   bool HasControlClip() const override { return true; }
   PhysicalRect ControlClipRect(const PhysicalOffset&) const override;
@@ -75,8 +73,6 @@
   int MaxFilenameWidth() const;
 
   PositionWithAffinity PositionForPoint(const PhysicalOffset&) const override;
-
-  bool can_receive_dropped_files_;
 };
 
 DEFINE_LAYOUT_OBJECT_TYPE_CASTS(LayoutFileUploadControl, IsFileUploadControl());
diff --git a/third_party/blink/renderer/core/layout/layout_list_box.cc b/third_party/blink/renderer/core/layout/layout_list_box.cc
index 1e9c106..441d756 100644
--- a/third_party/blink/renderer/core/layout/layout_list_box.cc
+++ b/third_party/blink/renderer/core/layout/layout_list_box.cc
@@ -125,13 +125,6 @@
   LayoutBox::ComputeLogicalHeight(height, logical_top, computed_values);
 }
 
-void LayoutListBox::StopAutoscroll() {
-  HTMLSelectElement* select = SelectElement();
-  if (select->IsDisabledFormControl())
-    return;
-  select->HandleMouseRelease();
-}
-
 void LayoutListBox::ComputeIntrinsicLogicalWidths(
     LayoutUnit& min_logical_width,
     LayoutUnit& max_logical_width) const {
@@ -141,16 +134,4 @@
     min_logical_width = LayoutUnit();
 }
 
-void LayoutListBox::ScrollToRect(const PhysicalRect& absolute_rect) {
-  if (HasOverflowClip()) {
-    DCHECK(Layer());
-    DCHECK(Layer()->GetScrollableArea());
-    Layer()->GetScrollableArea()->ScrollIntoView(
-        absolute_rect, WebScrollIntoViewParams(
-                           ScrollAlignment::kAlignToEdgeIfNeeded,
-                           ScrollAlignment::kAlignToEdgeIfNeeded,
-                           kProgrammaticScroll, false, kScrollBehaviorInstant));
-  }
-}
-
 }  // namespace blink
diff --git a/third_party/blink/renderer/core/layout/layout_list_box.h b/third_party/blink/renderer/core/layout/layout_list_box.h
index 91e76c1..f588236 100644
--- a/third_party/blink/renderer/core/layout/layout_list_box.h
+++ b/third_party/blink/renderer/core/layout/layout_list_box.h
@@ -44,9 +44,6 @@
 
   unsigned size() const;
 
-  // Unlike scrollRectToVisible this will not scroll parent boxes.
-  void ScrollToRect(const PhysicalRect&);
-
   const char* GetName() const override { return "LayoutListBox"; }
 
  private:
@@ -63,8 +60,6 @@
       LayoutUnit& min_logical_width,
       LayoutUnit& max_logical_width) const override;
 
-  void StopAutoscroll() override;
-
   LayoutUnit DefaultItemHeight() const;
   LayoutUnit ItemHeight() const;
 };
diff --git a/third_party/blink/renderer/core/layout/ng/inline/ng_inline_box_state.cc b/third_party/blink/renderer/core/layout/ng/inline/ng_inline_box_state.cc
index bf86ca8..0575700 100644
--- a/third_party/blink/renderer/core/layout/ng/inline/ng_inline_box_state.cc
+++ b/third_party/blink/renderer/core/layout/ng/inline/ng_inline_box_state.cc
@@ -371,19 +371,23 @@
     DCHECK((*line_box)[box_data.fragment_start].IsPlaceholder());
     for (unsigned i = box_data.fragment_start; i < box_data.fragment_end; i++) {
       NGLineBoxFragmentBuilder::Child& child = (*line_box)[i];
-      if (!child.box_data_index)
+      unsigned child_box_data_index = child.box_data_index;
+      if (!child_box_data_index) {
         child.box_data_index = box_data_index;
-    }
-  }
+        continue;
+      }
 
-  // When boxes are nested, placeholders have indexes to which box it should be
-  // added. Copy them to BoxData.
-  for (BoxData& box_data : box_data_list_) {
-    if (!box_data.fragment_start)
-      continue;
-    const NGLineBoxFragmentBuilder::Child& parent =
-        (*line_box)[box_data.fragment_start - 1];
-    box_data.parent_box_data_index = parent.box_data_index;
+      // This |box_data| has child boxes. Set up |parent_box_data_index| to
+      // represent the box nesting structure.
+      while (child_box_data_index != box_data_index) {
+        BoxData* child_box_data = &box_data_list_[child_box_data_index - 1];
+        child_box_data_index = child_box_data->parent_box_data_index;
+        if (!child_box_data_index) {
+          child_box_data->parent_box_data_index = box_data_index;
+          break;
+        }
+      }
+    }
   }
 }
 
diff --git a/third_party/blink/renderer/core/layout/ng/inline/ng_inline_cursor.cc b/third_party/blink/renderer/core/layout/ng/inline/ng_inline_cursor.cc
index 4800c5b..187162a 100644
--- a/third_party/blink/renderer/core/layout/ng/inline/ng_inline_cursor.cc
+++ b/third_party/blink/renderer/core/layout/ng/inline/ng_inline_cursor.cc
@@ -157,6 +157,23 @@
   return NGInlineCursor();
 }
 
+void NGInlineCursor::ExpandRootToContainingBlock() {
+  if (root_paint_fragment_) {
+    root_paint_fragment_ = root_paint_fragment_->Root();
+    return;
+  }
+  if (fragment_items_) {
+    const unsigned index_diff = items_.data() - fragment_items_->Items().data();
+    DCHECK_LT(index_diff, fragment_items_->Items().size());
+    const unsigned item_index = item_iter_ - items_.begin();
+    items_ = fragment_items_->Items();
+    // Update the iterator to the one for the new span.
+    MoveToItem(items_.begin() + item_index + index_diff);
+    return;
+  }
+  NOTREACHED();
+}
+
 bool NGInlineCursor::HasSoftWrapToNextLine() const {
   DCHECK(IsLineBox());
   const NGInlineBreakToken& break_token = CurrentInlineBreakToken();
diff --git a/third_party/blink/renderer/core/layout/ng/inline/ng_inline_cursor.h b/third_party/blink/renderer/core/layout/ng/inline/ng_inline_cursor.h
index f56d621..d3d6b7f 100644
--- a/third_party/blink/renderer/core/layout/ng/inline/ng_inline_cursor.h
+++ b/third_party/blink/renderer/core/layout/ng/inline/ng_inline_cursor.h
@@ -101,6 +101,12 @@
   // has no children, returns an empty cursor.
   NGInlineCursor CursorForDescendants() const;
 
+  // If |this| is created by |CursorForDescendants()| to traverse parts of an
+  // inline formatting context, expand the traversable range to the containing
+  // |LayoutBlockFlow|. Does nothing if |this| is for an inline formatting
+  // context.
+  void ExpandRootToContainingBlock();
+
   // True if current position has soft wrap to next line. It is error to call
   // other than line.
   bool HasSoftWrapToNextLine() const;
diff --git a/third_party/blink/renderer/core/layout/ng/ng_flex_layout_algorithm.cc b/third_party/blink/renderer/core/layout/ng/ng_flex_layout_algorithm.cc
index 23c1f52..8e90607 100644
--- a/third_party/blink/renderer/core/layout/ng/ng_flex_layout_algorithm.cc
+++ b/third_party/blink/renderer/core/layout/ng/ng_flex_layout_algorithm.cc
@@ -480,60 +480,73 @@
                                             : child.Style().MinHeight();
     if (min.IsAuto()) {
       if (algorithm_->ShouldApplyMinSizeAutoForChild(*child.GetLayoutBox())) {
-        // TODO(dgrogan): Do the aspect ratio parts of
-        // https://www.w3.org/TR/css-flexbox-1/#min-size-auto
+        // TODO(dgrogan): This should probably apply to column flexboxes also,
+        // but that's not what legacy does.
+        if (child.IsTable() && !is_column_) {
+          MinMaxSize table_preferred_widths =
+              ComputeMinAndMaxContentContribution(
+                  Style(), child,
+                  MinMaxSizeInput(child_percentage_size_.block_size));
+          min_max_sizes_in_main_axis_direction.min_size =
+              table_preferred_widths.min_size;
+        } else {
+          // TODO(dgrogan): Do the aspect ratio parts of
+          // https://www.w3.org/TR/css-flexbox-1/#min-size-auto
 
-        LayoutUnit content_size_suggestion =
-            MainAxisIsInlineAxis(child) ? intrinsic_sizes_border_box.min_size
-                                        : layout_result->IntrinsicBlockSize();
-        content_size_suggestion =
-            std::min(content_size_suggestion,
-                     min_max_sizes_in_main_axis_direction.max_size);
-
-        if (child.MayHaveAspectRatio()) {
-          // TODO(dgrogan): We're including borders/padding in both
-          // content_size_suggestion and min_max_sizes_in_cross_axis_direction.
-          // Maybe we need to multiply the content size by the aspect ratio and
-          // then apply the border/padding from the other axis inside the
-          // Adjust* function. Test legacy/firefox. Start with
-          // https://jsfiddle.net/dgrogan/9uyg3aro/
+          LayoutUnit content_size_suggestion =
+              MainAxisIsInlineAxis(child) ? intrinsic_sizes_border_box.min_size
+                                          : layout_result->IntrinsicBlockSize();
           content_size_suggestion =
-              AdjustChildSizeForAspectRatioCrossAxisMinAndMax(
-                  child, content_size_suggestion,
-                  min_max_sizes_in_cross_axis_direction.min_size,
-                  min_max_sizes_in_cross_axis_direction.max_size);
-        }
+              std::min(content_size_suggestion,
+                       min_max_sizes_in_main_axis_direction.max_size);
 
-        LayoutUnit specified_size_suggestion(LayoutUnit::Max());
-        // If the item’s computed main size property is definite, then the
-        // specified size suggestion is that size.
-        if (MainAxisIsInlineAxis(child)) {
-          if (!specified_length_in_main_axis.IsAuto()) {
-            // TODO(dgrogan): Optimization opportunity: we may have already
-            // resolved specified_length_in_main_axis in the flex basis
-            // calculation. Reuse that if possible.
-            specified_size_suggestion = ResolveMainInlineLength(
-                flex_basis_space, child_style,
-                border_padding_in_child_writing_mode,
-                intrinsic_sizes_border_box, specified_length_in_main_axis);
+          if (child.MayHaveAspectRatio()) {
+            // TODO(dgrogan): We're including borders/padding in both
+            // content_size_suggestion and
+            // min_max_sizes_in_cross_axis_direction. Maybe we need to multiply
+            // the content size by the aspect ratio and then apply the
+            // border/padding from the other axis inside the Adjust* function.
+            // Test legacy/firefox. Start with
+            // https://jsfiddle.net/dgrogan/9uyg3aro/
+            content_size_suggestion =
+                AdjustChildSizeForAspectRatioCrossAxisMinAndMax(
+                    child, content_size_suggestion,
+                    min_max_sizes_in_cross_axis_direction.min_size,
+                    min_max_sizes_in_cross_axis_direction.max_size);
           }
-        } else if (!BlockLengthUnresolvable(flex_basis_space,
-                                            specified_length_in_main_axis,
-                                            LengthResolvePhase::kLayout)) {
-          specified_size_suggestion = ResolveMainBlockLength(
-              flex_basis_space, child_style,
-              border_padding_in_child_writing_mode,
-              specified_length_in_main_axis,
-              layout_result->IntrinsicBlockSize(), LengthResolvePhase::kLayout);
-          DCHECK_NE(specified_size_suggestion, kIndefiniteSize);
-        }
-        // Spec says to clamp specified_size_suggestion by max size but because
-        // content_size_suggestion already is, and we take the min of those
-        // two, we don't need to clamp specified_size_suggestion.
-        // https://github.com/w3c/csswg-drafts/issues/3669
 
-        min_max_sizes_in_main_axis_direction.min_size =
-            std::min(specified_size_suggestion, content_size_suggestion);
+          LayoutUnit specified_size_suggestion(LayoutUnit::Max());
+          // If the item’s computed main size property is definite, then the
+          // specified size suggestion is that size.
+          if (MainAxisIsInlineAxis(child)) {
+            if (!specified_length_in_main_axis.IsAuto()) {
+              // TODO(dgrogan): Optimization opportunity: we may have already
+              // resolved specified_length_in_main_axis in the flex basis
+              // calculation. Reuse that if possible.
+              specified_size_suggestion = ResolveMainInlineLength(
+                  flex_basis_space, child_style,
+                  border_padding_in_child_writing_mode,
+                  intrinsic_sizes_border_box, specified_length_in_main_axis);
+            }
+          } else if (!BlockLengthUnresolvable(flex_basis_space,
+                                              specified_length_in_main_axis,
+                                              LengthResolvePhase::kLayout)) {
+            specified_size_suggestion =
+                ResolveMainBlockLength(flex_basis_space, child_style,
+                                       border_padding_in_child_writing_mode,
+                                       specified_length_in_main_axis,
+                                       layout_result->IntrinsicBlockSize(),
+                                       LengthResolvePhase::kLayout);
+            DCHECK_NE(specified_size_suggestion, kIndefiniteSize);
+          }
+          // Spec says to clamp specified_size_suggestion by max size but
+          // because content_size_suggestion already is, and we take the min of
+          // those two, we don't need to clamp specified_size_suggestion.
+          // https://github.com/w3c/csswg-drafts/issues/3669
+
+          min_max_sizes_in_main_axis_direction.min_size =
+              std::min(specified_size_suggestion, content_size_suggestion);
+        }
       }
     } else if (MainAxisIsInlineAxis(child)) {
       min_max_sizes_in_main_axis_direction.min_size = ResolveMinInlineLength(
diff --git a/third_party/blink/renderer/core/layout/ng/ng_layout_input_node.h b/third_party/blink/renderer/core/layout/ng/ng_layout_input_node.h
index 856ec28..0e4bb99 100644
--- a/third_party/blink/renderer/core/layout/ng/ng_layout_input_node.h
+++ b/third_party/blink/renderer/core/layout/ng/ng_layout_input_node.h
@@ -123,6 +123,7 @@
   bool IsRenderedLegend() const {
     return IsBlock() && box_->IsRenderedLegend();
   }
+  bool IsTable() const { return IsBlock() && box_->IsTable(); }
 
   bool IsMathRoot() const { return box_->IsMathMLRoot(); }
 
diff --git a/third_party/blink/renderer/core/page/autoscroll_controller.cc b/third_party/blink/renderer/core/page/autoscroll_controller.cc
index a2b0b5a..a2f063a 100644
--- a/third_party/blink/renderer/core/page/autoscroll_controller.cc
+++ b/third_party/blink/renderer/core/page/autoscroll_controller.cc
@@ -35,7 +35,6 @@
 #include "third_party/blink/renderer/core/input/event_handler.h"
 #include "third_party/blink/renderer/core/layout/hit_test_result.h"
 #include "third_party/blink/renderer/core/layout/layout_box.h"
-#include "third_party/blink/renderer/core/layout/layout_list_box.h"
 #include "third_party/blink/renderer/core/page/chrome_client.h"
 #include "third_party/blink/renderer/core/page/page.h"
 
@@ -113,9 +112,9 @@
     return;
   LayoutBox* scrollable = LayoutBox::FindAutoscrollable(
       layout_object, /*is_middle_click_autoscroll*/ false);
-  if (!scrollable)
-    scrollable =
-        layout_object->IsListBox() ? ToLayoutListBox(layout_object) : nullptr;
+  if (!scrollable && layout_object->GetNode()) {
+    scrollable = layout_object->GetNode()->AutoscrollBox();
+  }
   if (!scrollable)
     return;
 
@@ -129,7 +128,8 @@
 
 void AutoscrollController::StopAutoscroll() {
   if (pressed_layout_object_) {
-    pressed_layout_object_->StopAutoscroll();
+    if (pressed_layout_object_->GetNode())
+      pressed_layout_object_->GetNode()->StopAutoscroll();
     pressed_layout_object_ = nullptr;
   }
   autoscroll_layout_object_ = nullptr;
diff --git a/third_party/blink/renderer/core/paint/ng/ng_box_fragment_painter.cc b/third_party/blink/renderer/core/paint/ng/ng_box_fragment_painter.cc
index 6d0b6c4..d0cc934 100644
--- a/third_party/blink/renderer/core/paint/ng/ng_box_fragment_painter.cc
+++ b/third_party/blink/renderer/core/paint/ng/ng_box_fragment_painter.cc
@@ -181,7 +181,8 @@
   // inlines.
   for (; *descendants; descendants->MoveToNext()) {
     const NGPaintFragment* child = descendants->CurrentPaintFragment();
-    DCHECK(child);  // TODO(kojii): Support NGFragmentItem
+    if (!child)  // TODO(kojii): Support NGFragmentItem
+      continue;
     const NGPhysicalFragment& child_fragment = child->PhysicalFragment();
     if (child_fragment.IsHiddenForPaint() || child_fragment.IsFloating())
       continue;
@@ -232,6 +233,12 @@
       ->PhysicalSelfVisualOverflowRect();
 }
 
+PhysicalRect NGBoxFragmentPainter::ContentsInkOverflow() const {
+  const NGPhysicalFragment& fragment = PhysicalFragment();
+  return ToLayoutBox(fragment.GetLayoutObject())
+      ->PhysicalContentsVisualOverflowRect();
+}
+
 void NGBoxFragmentPainter::Paint(const PaintInfo& paint_info) {
   if (PhysicalFragment().IsPaintedAtomically() &&
       !box_fragment_.HasSelfPaintingLayer())
@@ -384,9 +391,13 @@
                          paint_offset_to_inline_formatting_context,
                          descendants_);
       } else if (items_) {
-        // Paint |NGFragmentItems| for this block if we have one.
-        NGInlineCursor cursor(*items_);
-        PaintInlineItems(paint_info.ForDescendants(), paint_offset, &cursor);
+        if (physical_box_fragment.IsBlockFlow()) {
+          PaintBlockFlowContents(paint_info, paint_offset);
+        } else {
+          DCHECK(physical_box_fragment.IsInlineBox());
+          NGInlineCursor cursor(*items_);
+          PaintInlineItems(paint_info.ForDescendants(), paint_offset, &cursor);
+        }
       } else if (physical_box_fragment.ChildrenInline()) {
         DCHECK(!RuntimeEnabledFeatures::LayoutNGFragmentItemEnabled());
         DCHECK(paint_fragment_);
@@ -445,14 +456,12 @@
     const PhysicalOffset& paint_offset) {
   const NGPhysicalBoxFragment& fragment = PhysicalFragment();
   const LayoutObject* layout_object = fragment.GetLayoutObject();
-
   DCHECK(fragment.ChildrenInline());
-  DCHECK(paint_fragment_);
 
   // When the layout-tree gets into a bad state, we can end up trying to paint
   // a fragment with inline children, without a paint fragment. See:
   // http://crbug.com/1022545
-  if (!paint_fragment_) {
+  if ((!paint_fragment_ && !items_) || layout_object->NeedsLayout()) {
     NOTREACHED();
     return;
   }
@@ -470,7 +479,7 @@
   // |LayoutOverflow()|, but this can be approximiated with
   // |ContentsInkOverflow()|.
   PhysicalRect content_ink_rect = fragment.LocalRect();
-  content_ink_rect.Unite(paint_fragment_->ContentsInkOverflow());
+  content_ink_rect.Unite(ContentsInkOverflow());
   content_ink_rect.offset += PhysicalOffset(paint_offset);
   if (!paint_info.GetCullRect().Intersects(content_ink_rect.ToLayoutRect()))
     return;
@@ -478,7 +487,13 @@
   DCHECK(layout_object->IsLayoutBlockFlow());
   const auto& layout_block = To<LayoutBlock>(*layout_object);
   DCHECK(layout_block.ChildrenInline());
-  NGInlineCursor children(*paint_fragment_);
+  if (paint_fragment_) {
+    NGInlineCursor children(*paint_fragment_);
+    PaintLineBoxChildren(&children, paint_info.ForDescendants(), paint_offset);
+    return;
+  }
+  DCHECK(items_);
+  NGInlineCursor children(*items_);
   PaintLineBoxChildren(&children, paint_info.ForDescendants(), paint_offset);
 }
 
@@ -1005,10 +1020,6 @@
 void NGBoxFragmentPainter::PaintInlineItems(const PaintInfo& paint_info,
                                             const PhysicalOffset& paint_offset,
                                             NGInlineCursor* cursor) {
-  ScopedPaintTimingDetectorBlockPaintHook
-      scoped_paint_timing_detector_block_paint_hook;
-  // TODO(kojii): Copy more from |PaintLineBoxChildren|.
-
   while (*cursor) {
     const NGFragmentItem* item = cursor->CurrentItem();
     DCHECK(item);
@@ -1017,19 +1028,15 @@
       case NGFragmentItem::kGeneratedText:
         PaintTextItem(*cursor, paint_info, paint_offset);
         break;
-      case NGFragmentItem::kLine:
-        if (PaintLineBoxItem(*item, paint_info, paint_offset) ==
-            kSkipChildren) {
-          cursor->MoveToNextSkippingChildren();
-          continue;
-        }
-        break;
       case NGFragmentItem::kBox:
         if (PaintBoxItem(*item, paint_info, paint_offset) == kSkipChildren) {
           cursor->MoveToNextSkippingChildren();
           continue;
         }
         break;
+      case NGFragmentItem::kLine:
+        NOTREACHED();
+        break;
     }
     cursor->MoveToNext();
   }
@@ -1102,6 +1109,11 @@
     return;
   }
 
+  if (UNLIKELY(children->IsItemCursor())) {
+    PaintLineBoxChildItems(children, paint_info, paint_offset);
+    return;
+  }
+
   const bool is_horizontal = box_fragment_.Style().IsHorizontalWritingMode();
   for (; *children; children->MoveToNextSkippingChildren()) {
     const NGPaintFragment* line = children->CurrentPaintFragment();
@@ -1139,6 +1151,56 @@
   }
 }
 
+void NGBoxFragmentPainter::PaintLineBoxChildItems(
+    NGInlineCursor* children,
+    const PaintInfo& paint_info,
+    const PhysicalOffset& paint_offset) {
+  const bool is_horizontal = box_fragment_.Style().IsHorizontalWritingMode();
+  for (; *children; children->MoveToNextSkippingChildren()) {
+    const NGFragmentItem* child_item = children->CurrentItem();
+    DCHECK(child_item);
+
+    // Check if CullRect intersects with this child, only in block direction
+    // because soft-wrap and <br> needs to paint outside of InkOverflow() in
+    // inline direction.
+    const PhysicalOffset& child_offset = paint_offset + child_item->Offset();
+    const PhysicalRect child_rect = child_item->InkOverflow();
+    if (is_horizontal) {
+      LayoutUnit y = child_rect.offset.top + child_offset.top;
+      if (!paint_info.GetCullRect().IntersectsVerticalRange(
+              y, y + child_rect.size.height))
+        continue;
+    } else {
+      LayoutUnit x = child_rect.offset.left + child_offset.left;
+      if (!paint_info.GetCullRect().IntersectsHorizontalRange(
+              x, x + child_rect.size.width))
+        continue;
+    }
+
+    if (child_item->Type() == NGFragmentItem::kLine) {
+      const NGPhysicalLineBoxFragment* line_box_fragment =
+          child_item->LineBoxFragment();
+      DCHECK(line_box_fragment);
+      PaintLineBox(*line_box_fragment, *child_item,
+                   /* line_box_paint_fragment */ nullptr, child_item,
+                   paint_info, child_offset);
+      NGInlineCursor line_box_cursor = children->CursorForDescendants();
+      PaintInlineItems(paint_info, paint_offset, &line_box_cursor);
+      continue;
+    }
+
+    if (const NGPhysicalBoxFragment* child_fragment =
+            child_item->BoxFragment()) {
+      if (child_fragment->IsListMarker()) {
+        PaintBoxItem(*child_item, paint_info, paint_offset);
+        continue;
+      }
+    }
+
+    NOTREACHED();
+  }
+}
+
 void NGBoxFragmentPainter::PaintBackplate(NGInlineCursor* line_boxes,
                                           const PaintInfo& paint_info,
                                           const PhysicalOffset& paint_offset) {
diff --git a/third_party/blink/renderer/core/paint/ng/ng_box_fragment_painter.h b/third_party/blink/renderer/core/paint/ng/ng_box_fragment_painter.h
index 708b4ff..d86cfbe 100644
--- a/third_party/blink/renderer/core/paint/ng/ng_box_fragment_painter.h
+++ b/third_party/blink/renderer/core/paint/ng/ng_box_fragment_painter.h
@@ -105,6 +105,9 @@
   void PaintLineBoxChildren(NGInlineCursor* children,
                             const PaintInfo&,
                             const PhysicalOffset& paint_offset);
+  void PaintLineBoxChildItems(NGInlineCursor* children,
+                              const PaintInfo&,
+                              const PhysicalOffset& paint_offset);
   void PaintLineBox(const NGPhysicalFragment& line_box_fragment,
                     const DisplayItemClient& display_item_client,
                     const NGPaintFragment* line_box_paint_fragment,
@@ -250,6 +253,7 @@
   }
   const NGBorderEdges& BorderEdges() const;
   PhysicalRect SelfInkOverflow() const;
+  PhysicalRect ContentsInkOverflow() const;
 
   const NGPhysicalBoxFragment& box_fragment_;
   const DisplayItemClient& display_item_client_;
diff --git a/third_party/blink/renderer/core/paint/ng/ng_text_fragment_painter.cc b/third_party/blink/renderer/core/paint/ng/ng_text_fragment_painter.cc
index 4ecd342..1c7cc9e 100644
--- a/third_party/blink/renderer/core/paint/ng/ng_text_fragment_painter.cc
+++ b/third_party/blink/renderer/core/paint/ng/ng_text_fragment_painter.cc
@@ -64,6 +64,26 @@
   return cursor.PaintFragment();
 }
 
+inline const NGInlineCursor& InlineCursorForBlockFlow(
+    const NGInlineCursor& cursor,
+    base::Optional<NGInlineCursor>* storage) {
+  if (*storage)
+    return **storage;
+  *storage = cursor;
+  (*storage)->ExpandRootToContainingBlock();
+  return **storage;
+}
+
+inline const NGInlineCursor& InlineCursorForBlockFlow(
+    const NGTextPainterCursor& cursor,
+    base::Optional<NGInlineCursor>* storage) {
+  if (*storage)
+    return **storage;
+  storage->emplace(cursor.RootPaintFragment());
+  (*storage)->MoveTo(cursor.PaintFragment());
+  return **storage;
+}
+
 // TODO(yosin): Remove |GetTextFragmentPaintInfo| once the transition to
 // |NGFragmentItem| is done. http://crbug.com/982194
 inline NGTextFragmentPaintInfo GetTextFragmentPaintInfo(
@@ -98,28 +118,13 @@
 // |NGFragmentItem| is done. http://crbug.com/982194
 inline LayoutSelectionStatus ComputeLayoutSelectionStatus(
     const NGInlineCursor& cursor) {
-  return cursor.CurrentItem()
-      ->GetLayoutObject()
+  return cursor.CurrentLayoutObject()
       ->GetDocument()
       .GetFrame()
       ->Selection()
       .ComputeLayoutSelectionStatus(cursor);
 }
 
-inline LayoutSelectionStatus ComputeLayoutSelectionStatus(
-    const NGTextPainterCursor& cursor) {
-  // Note:: Because of this function is hot, we should not use |NGInlineCursor|
-  // on paint fragment which requires traversing ancestors to root.
-  NGInlineCursor inline_cursor(cursor.RootPaintFragment());
-  inline_cursor.MoveTo(cursor.PaintFragment());
-  return cursor.CurrentItem()
-      ->GetLayoutObject()
-      ->GetDocument()
-      .GetFrame()
-      ->Selection()
-      .ComputeLayoutSelectionStatus(inline_cursor);
-}
-
 // TODO(yosin): Remove |ComputeLocalRect| once the transition to
 // |NGFragmentItem| is done. http://crbug.com/982194
 inline PhysicalRect ComputeLocalRect(const NGFragmentItem& text_item,
@@ -326,20 +331,11 @@
 NGTextFragmentPainter<Cursor>::NGTextFragmentPainter(const Cursor& cursor)
     : cursor_(cursor) {}
 
-static PhysicalRect ComputeLocalSelectionRectForText(
-    const NGTextPainterCursor& cursor,
-    const LayoutSelectionStatus& selection_status) {
-  NGInlineCursor inline_cursor(cursor.RootPaintFragment());
-  inline_cursor.MoveTo(cursor.PaintFragment());
-  return ComputeLocalSelectionRectForText(inline_cursor, selection_status);
-}
-
 // Logic is copied from InlineTextBoxPainter::PaintSelection.
 // |selection_start| and |selection_end| should be between
 // [text_fragment.StartOffset(), text_fragment.EndOffset()].
-template <typename Cursor>
 static void PaintSelection(GraphicsContext& context,
-                           const Cursor& cursor,
+                           const NGInlineCursor& cursor,
                            Node* node,
                            const Document& document,
                            const ComputedStyle& style,
@@ -400,7 +396,9 @@
                         layout_object->IsSelected();
   base::Optional<LayoutSelectionStatus> selection_status;
   if (have_selection) {
-    selection_status = ComputeLayoutSelectionStatus(cursor_);
+    const NGInlineCursor& root_inline_cursor =
+        InlineCursorForBlockFlow(cursor_, &inline_cursor_for_block_flow_);
+    selection_status = ComputeLayoutSelectionStatus(root_inline_cursor);
     DCHECK_LE(selection_status->start, selection_status->end);
     have_selection = selection_status->start < selection_status->end;
   }
@@ -483,7 +481,9 @@
                          markers_to_paint, box_rect.offset, style,
                          DocumentMarkerPaintPhase::kBackground, nullptr);
     if (have_selection) {
-      PaintSelection(context, cursor_, node, document, style,
+      const NGInlineCursor& root_inline_cursor =
+          InlineCursorForBlockFlow(cursor_, &inline_cursor_for_block_flow_);
+      PaintSelection(context, root_inline_cursor, node, document, style,
                      selection_style.fill_color, box_rect, *selection_status);
     }
   }
diff --git a/third_party/blink/renderer/core/paint/ng/ng_text_fragment_painter.h b/third_party/blink/renderer/core/paint/ng/ng_text_fragment_painter.h
index d1c4ab8..250c773 100644
--- a/third_party/blink/renderer/core/paint/ng/ng_text_fragment_painter.h
+++ b/third_party/blink/renderer/core/paint/ng/ng_text_fragment_painter.h
@@ -5,6 +5,7 @@
 #ifndef THIRD_PARTY_BLINK_RENDERER_CORE_PAINT_NG_NG_TEXT_FRAGMENT_PAINTER_H_
 #define THIRD_PARTY_BLINK_RENDERER_CORE_PAINT_NG_NG_TEXT_FRAGMENT_PAINTER_H_
 
+#include "third_party/blink/renderer/core/layout/ng/inline/ng_inline_cursor.h"
 #include "third_party/blink/renderer/core/layout/ng/inline/ng_physical_text_fragment.h"
 #include "third_party/blink/renderer/core/paint/ng/ng_paint_fragment.h"
 #include "third_party/blink/renderer/core/style/computed_style_constants.h"
@@ -80,6 +81,7 @@
                           const PhysicalOffset& paint_offset);
 
   const Cursor& cursor_;
+  base::Optional<NGInlineCursor> inline_cursor_for_block_flow_;
 };
 
 extern template class NGTextFragmentPainter<NGTextPainterCursor>;
diff --git a/third_party/blink/renderer/core/workers/dedicated_worker.cc b/third_party/blink/renderer/core/workers/dedicated_worker.cc
index 3cb4100..6e95e78 100644
--- a/third_party/blink/renderer/core/workers/dedicated_worker.cc
+++ b/third_party/blink/renderer/core/workers/dedicated_worker.cc
@@ -7,6 +7,7 @@
 #include <utility>
 
 #include "base/feature_list.h"
+#include "base/optional.h"
 #include "mojo/public/cpp/bindings/pending_remote.h"
 #include "services/network/public/mojom/fetch_api.mojom-blink.h"
 #include "third_party/blink/public/common/blob/blob_utils.h"
@@ -189,9 +190,10 @@
     // https://html.spec.whatwg.org/C/#workeroptions
     auto credentials_mode = network::mojom::CredentialsMode::kSameOrigin;
     if (options_->type() == "module") {
-      bool result = Request::ParseCredentialsMode(options_->credentials(),
-                                                  &credentials_mode);
+      base::Optional<network::mojom::CredentialsMode> result =
+          Request::ParseCredentialsMode(options_->credentials());
       DCHECK(result);
+      credentials_mode = result.value();
     }
 
     mojo::PendingRemote<mojom::blink::BlobURLToken> blob_url_token;
diff --git a/third_party/blink/renderer/core/workers/dedicated_worker_messaging_proxy.cc b/third_party/blink/renderer/core/workers/dedicated_worker_messaging_proxy.cc
index 665e741..175e988 100644
--- a/third_party/blink/renderer/core/workers/dedicated_worker_messaging_proxy.cc
+++ b/third_party/blink/renderer/core/workers/dedicated_worker_messaging_proxy.cc
@@ -5,6 +5,7 @@
 #include "third_party/blink/renderer/core/workers/dedicated_worker_messaging_proxy.h"
 
 #include <memory>
+#include "base/optional.h"
 #include "services/network/public/mojom/fetch_api.mojom-blink.h"
 #include "third_party/blink/public/platform/task_type.h"
 #include "third_party/blink/renderer/bindings/core/v8/sanitize_script_errors.h"
@@ -90,16 +91,16 @@
     // settings."
     UseCounter::Count(GetExecutionContext(),
                       WebFeature::kModuleDedicatedWorker);
-    network::mojom::CredentialsMode credentials_mode;
-    bool result = Request::ParseCredentialsMode(options->credentials(),
-                                                &credentials_mode);
-    DCHECK(result);
+    base::Optional<network::mojom::CredentialsMode> credentials_mode =
+        Request::ParseCredentialsMode(options->credentials());
+    DCHECK(credentials_mode);
+
     auto* resource_timing_notifier =
         WorkerResourceTimingNotifierImpl::CreateForOutsideResourceFetcher(
             *GetExecutionContext());
     GetWorkerThread()->FetchAndRunModuleScript(
         script_url, outside_settings_object.CopyData(),
-        resource_timing_notifier, credentials_mode);
+        resource_timing_notifier, *credentials_mode);
   } else {
     NOTREACHED();
   }
diff --git a/third_party/blink/renderer/core/workers/shared_worker.cc b/third_party/blink/renderer/core/workers/shared_worker.cc
index 4ca5ce3..00be269b 100644
--- a/third_party/blink/renderer/core/workers/shared_worker.cc
+++ b/third_party/blink/renderer/core/workers/shared_worker.cc
@@ -34,6 +34,7 @@
 #include "mojo/public/cpp/bindings/pending_remote.h"
 #include "third_party/blink/public/common/blob/blob_utils.h"
 #include "third_party/blink/public/mojom/fetch/fetch_api_request.mojom-blink.h"
+#include "third_party/blink/public/mojom/worker/shared_worker_info.mojom-blink.h"
 #include "third_party/blink/renderer/core/execution_context/execution_context.h"
 #include "third_party/blink/renderer/core/fileapi/public_url_manager.h"
 #include "third_party/blink/renderer/core/messaging/message_channel.h"
@@ -68,7 +69,7 @@
 
 SharedWorker* SharedWorker::Create(ExecutionContext* context,
                                    const String& url,
-                                   const StringOrWorkerOptions& options,
+                                   const StringOrWorkerOptions& name_or_options,
                                    ExceptionState& exception_state) {
   DCHECK(IsMainThread());
 
@@ -106,11 +107,11 @@
         script_url, blob_url_token.InitWithNewPipeAndPassReceiver());
   }
 
-  String worker_name;
-  if (options.IsString()) {
-    worker_name = options.GetAsString();
-  } else if (options.IsWorkerOptions()) {
-    WorkerOptions* worker_options = options.GetAsWorkerOptions();
+  auto options = mojom::blink::WorkerOptions::New();
+  if (name_or_options.IsString()) {
+    options->name = name_or_options.GetAsString();
+  } else if (name_or_options.IsWorkerOptions()) {
+    WorkerOptions* worker_options = name_or_options.GetAsWorkerOptions();
     if (worker_options->type() == "module" &&
         !RuntimeEnabledFeatures::ModuleSharedWorkerEnabled()) {
       exception_state.ThrowTypeError(
@@ -118,15 +119,15 @@
           "(see https://crbug.com/824646)");
       return nullptr;
     }
-    worker_name = worker_options->name();
+    options->name = worker_options->name();
   } else {
     NOTREACHED();
   }
-  DCHECK(!worker_name.IsNull());
+  DCHECK(!options->name.IsNull());
 
   SharedWorkerClientHolder::From(*document)->Connect(
       worker, std::move(remote_port), script_url, std::move(blob_url_token),
-      worker_name);
+      std::move(options));
 
   return worker;
 }
diff --git a/third_party/blink/renderer/core/workers/shared_worker_client_holder.cc b/third_party/blink/renderer/core/workers/shared_worker_client_holder.cc
index c6a70f6..22b30e3 100644
--- a/third_party/blink/renderer/core/workers/shared_worker_client_holder.cc
+++ b/third_party/blink/renderer/core/workers/shared_worker_client_holder.cc
@@ -45,7 +45,9 @@
 #include "third_party/blink/public/web/blink.h"
 #include "third_party/blink/public/web/web_shared_worker.h"
 #include "third_party/blink/renderer/core/execution_context/execution_context.h"
+#include "third_party/blink/renderer/core/fetch/request.h"
 #include "third_party/blink/renderer/core/frame/csp/content_security_policy.h"
+#include "third_party/blink/renderer/core/script/script.h"
 #include "third_party/blink/renderer/core/workers/shared_worker.h"
 #include "third_party/blink/renderer/core/workers/shared_worker_client.h"
 #include "third_party/blink/renderer/platform/loader/fetch/fetch_client_settings_object_snapshot.h"
@@ -81,9 +83,9 @@
     MessagePortChannel port,
     const KURL& url,
     mojo::PendingRemote<mojom::blink::BlobURLToken> blob_url_token,
-    const String& name) {
+    mojom::blink::WorkerOptionsPtr options) {
   DCHECK(IsMainThread());
-  DCHECK(!name.IsNull());
+  DCHECK(options);
 
   // TODO(estark): this is broken, as it only uses the first header
   // when multiple might have been sent. Fix by making the
@@ -100,7 +102,7 @@
   }
 
   mojom::blink::SharedWorkerInfoPtr info(mojom::blink::SharedWorkerInfo::New(
-      url, name, header, header_type,
+      url, std::move(options), header, header_type,
       worker->GetExecutionContext()->GetSecurityContext().AddressSpace()));
 
   mojo::PendingRemote<mojom::blink::SharedWorkerClient> client;
diff --git a/third_party/blink/renderer/core/workers/shared_worker_client_holder.h b/third_party/blink/renderer/core/workers/shared_worker_client_holder.h
index af9da612..f59696a 100644
--- a/third_party/blink/renderer/core/workers/shared_worker_client_holder.h
+++ b/third_party/blink/renderer/core/workers/shared_worker_client_holder.h
@@ -41,9 +41,11 @@
 #include "third_party/blink/public/mojom/blob/blob_url_store.mojom-blink-forward.h"
 #include "third_party/blink/public/mojom/worker/shared_worker_client.mojom-blink-forward.h"
 #include "third_party/blink/public/mojom/worker/shared_worker_connector.mojom-blink.h"
+#include "third_party/blink/public/mojom/worker/shared_worker_info.mojom-blink.h"
 #include "third_party/blink/renderer/core/core_export.h"
 #include "third_party/blink/renderer/core/dom/document.h"
 #include "third_party/blink/renderer/core/execution_context/context_lifecycle_observer.h"
+#include "third_party/blink/renderer/core/workers/worker_options.h"
 #include "third_party/blink/renderer/platform/heap/garbage_collected.h"
 #include "third_party/blink/renderer/platform/wtf/forward.h"
 
@@ -78,7 +80,7 @@
                MessagePortChannel,
                const KURL&,
                mojo::PendingRemote<mojom::blink::BlobURLToken>,
-               const String& name);
+               mojom::blink::WorkerOptionsPtr options);
 
   // Overrides ContextLifecycleObserver.
   void ContextDestroyed(ExecutionContext*) override;
diff --git a/third_party/blink/renderer/core/workers/worklet.cc b/third_party/blink/renderer/core/workers/worklet.cc
index 1195b52..ac8b219 100644
--- a/third_party/blink/renderer/core/workers/worklet.cc
+++ b/third_party/blink/renderer/core/workers/worklet.cc
@@ -4,6 +4,7 @@
 
 #include "third_party/blink/renderer/core/workers/worklet.h"
 
+#include "base/optional.h"
 #include "base/single_thread_task_runner.h"
 #include "services/network/public/mojom/fetch_api.mojom-blink.h"
 #include "third_party/blink/public/mojom/web_feature/web_feature.mojom-blink.h"
@@ -125,9 +126,9 @@
     return;
 
   // Step 6: "Let credentialOptions be the credentials member of options."
-  network::mojom::CredentialsMode credentials_mode;
-  bool result = Request::ParseCredentialsMode(credentials, &credentials_mode);
-  DCHECK(result);
+  base::Optional<network::mojom::CredentialsMode> credentials_mode =
+      Request::ParseCredentialsMode(credentials);
+  DCHECK(credentials_mode);
 
   // Step 7: "Let outsideSettings be the relevant settings object of this."
   auto* outside_settings_object =
@@ -175,7 +176,7 @@
   // moduleResponsesMap is already passed via CreateGlobalScope().
   // TODO(nhiroki): Queue a task instead of executing this here.
   for (const auto& proxy : proxies_) {
-    proxy->FetchAndInvokeScript(module_url_record, credentials_mode,
+    proxy->FetchAndInvokeScript(module_url_record, *credentials_mode,
                                 *outside_settings_object,
                                 *outside_resource_timing_notifier,
                                 outside_settings_task_runner, pending_tasks);
diff --git a/third_party/blink/renderer/modules/app_banner/before_install_prompt_event.cc b/third_party/blink/renderer/modules/app_banner/before_install_prompt_event.cc
index fd23b0c..9493ff4 100644
--- a/third_party/blink/renderer/modules/app_banner/before_install_prompt_event.cc
+++ b/third_party/blink/renderer/modules/app_banner/before_install_prompt_event.cc
@@ -28,10 +28,8 @@
                 std::move(event_receiver),
                 frame.GetTaskRunner(TaskType::kApplicationLifeCycle)),
       platforms_(platforms),
-      user_choice_(MakeGarbageCollected<UserChoiceProperty>(
-          frame.GetDocument(),
-          this,
-          UserChoiceProperty::kUserChoice)) {
+      user_choice_(
+          MakeGarbageCollected<UserChoiceProperty>(frame.GetDocument())) {
   DCHECK(banner_service_remote_);
   DCHECK(receiver_.is_bound());
   UseCounter::Count(frame.GetDocument(), WebFeature::kBeforeInstallPromptEvent);
@@ -113,7 +111,7 @@
 
 bool BeforeInstallPromptEvent::HasPendingActivity() const {
   return user_choice_ &&
-         user_choice_->GetState() == ScriptPromisePropertyBase::kPending;
+         user_choice_->GetState() == UserChoiceProperty::kPending;
 }
 
 void BeforeInstallPromptEvent::BannerAccepted(const String& platform) {
diff --git a/third_party/blink/renderer/modules/app_banner/before_install_prompt_event.h b/third_party/blink/renderer/modules/app_banner/before_install_prompt_event.h
index 1daeb40..d1243be 100644
--- a/third_party/blink/renderer/modules/app_banner/before_install_prompt_event.h
+++ b/third_party/blink/renderer/modules/app_banner/before_install_prompt_event.h
@@ -23,10 +23,8 @@
 class BeforeInstallPromptEventInit;
 class ExceptionState;
 
-using UserChoiceProperty =
-    ScriptPromiseProperty<Member<BeforeInstallPromptEvent>,
-                          Member<AppBannerPromptResult>,
-                          ToV8UndefinedGenerator>;
+using UserChoiceProperty = ScriptPromiseProperty<Member<AppBannerPromptResult>,
+                                                 ToV8UndefinedGenerator>;
 
 class BeforeInstallPromptEvent final
     : public Event,
diff --git a/third_party/blink/renderer/modules/background_fetch/background_fetch_record.cc b/third_party/blink/renderer/modules/background_fetch/background_fetch_record.cc
index 20a31fe..57d8dbf2 100644
--- a/third_party/blink/renderer/modules/background_fetch/background_fetch_record.cc
+++ b/third_party/blink/renderer/modules/background_fetch/background_fetch_record.cc
@@ -17,15 +17,14 @@
   DCHECK(script_state_);
 
   response_ready_property_ = MakeGarbageCollected<ResponseReadyProperty>(
-      ExecutionContext::From(script_state), this,
-      ResponseReadyProperty::kResponseReady);
+      ExecutionContext::From(script_state));
 }
 
 BackgroundFetchRecord::~BackgroundFetchRecord() = default;
 
 void BackgroundFetchRecord::ResolveResponseReadyProperty(Response* response) {
   if (response_ready_property_->GetState() !=
-      ScriptPromisePropertyBase::State::kPending) {
+      ResponseReadyProperty::State::kPending) {
     return;
   }
 
diff --git a/third_party/blink/renderer/modules/background_fetch/background_fetch_record.h b/third_party/blink/renderer/modules/background_fetch/background_fetch_record.h
index d150009..f038f66 100644
--- a/third_party/blink/renderer/modules/background_fetch/background_fetch_record.h
+++ b/third_party/blink/renderer/modules/background_fetch/background_fetch_record.h
@@ -55,9 +55,7 @@
 
  private:
   using ResponseReadyProperty =
-      ScriptPromiseProperty<Member<BackgroundFetchRecord>,
-                            Member<Response>,
-                            Member<DOMException>>;
+      ScriptPromiseProperty<Member<Response>, Member<DOMException>>;
 
   // Resolves a pending |response_ready_property_| with |response|, if it's not
   // null.
diff --git a/third_party/blink/renderer/modules/battery/battery_manager.cc b/third_party/blink/renderer/modules/battery/battery_manager.cc
index ca879108..ff2eeed 100644
--- a/third_party/blink/renderer/modules/battery/battery_manager.cc
+++ b/third_party/blink/renderer/modules/battery/battery_manager.cc
@@ -30,7 +30,7 @@
 ScriptPromise BatteryManager::StartRequest(ScriptState* script_state) {
   if (!battery_property_) {
     battery_property_ = MakeGarbageCollected<BatteryProperty>(
-        ExecutionContext::From(script_state), this, BatteryProperty::kReady);
+        ExecutionContext::From(script_state));
 
     // If the context is in a stopped state already, do not start updating.
     if (!GetExecutionContext() || GetExecutionContext()->IsContextDestroyed()) {
@@ -66,7 +66,7 @@
   BatteryStatus old_status = battery_status_;
   battery_status_ = *BatteryDispatcher::Instance().LatestData();
 
-  if (battery_property_->GetState() == ScriptPromisePropertyBase::kPending) {
+  if (battery_property_->GetState() == BatteryProperty::kPending) {
     battery_property_->Resolve(this);
     return;
   }
@@ -120,7 +120,7 @@
   // event listeners or pending promises attached to it.
   return HasEventListeners() ||
          (battery_property_ &&
-          battery_property_->GetState() == ScriptPromisePropertyBase::kPending);
+          battery_property_->GetState() == BatteryProperty::kPending);
 }
 
 void BatteryManager::Trace(blink::Visitor* visitor) {
diff --git a/third_party/blink/renderer/modules/battery/battery_manager.h b/third_party/blink/renderer/modules/battery/battery_manager.h
index 66cb8faf..25ca582 100644
--- a/third_party/blink/renderer/modules/battery/battery_manager.h
+++ b/third_party/blink/renderer/modules/battery/battery_manager.h
@@ -66,9 +66,8 @@
   void Trace(blink::Visitor*) override;
 
  private:
-  using BatteryProperty = ScriptPromiseProperty<Member<BatteryManager>,
-                                                Member<BatteryManager>,
-                                                Member<DOMException>>;
+  using BatteryProperty =
+      ScriptPromiseProperty<Member<BatteryManager>, Member<DOMException>>;
   Member<BatteryProperty> battery_property_;
   BatteryStatus battery_status_;
 };
diff --git a/third_party/blink/renderer/modules/encryptedmedia/media_key_session.cc b/third_party/blink/renderer/modules/encryptedmedia/media_key_session.cc
index 2e73aaa..9e5bc467 100644
--- a/third_party/blink/renderer/modules/encryptedmedia/media_key_session.cc
+++ b/third_party/blink/renderer/modules/encryptedmedia/media_key_session.cc
@@ -352,9 +352,7 @@
       is_callable_(false),
       is_closing_or_closed_(false),
       closed_promise_(MakeGarbageCollected<ClosedPromise>(
-          ExecutionContext::From(script_state),
-          this,
-          ClosedPromise::kClosed)),
+          ExecutionContext::From(script_state))),
       action_timer_(ExecutionContext::From(script_state)
                         ->GetTaskRunner(TaskType::kMiscPlatformAPI),
                     this,
@@ -913,7 +911,7 @@
   // 1. Let session be the associated MediaKeySession object.
   // 2. Let promise be the session's closed attribute.
   // 3. If promise is resolved, abort these steps.
-  if (closed_promise_->GetState() == ScriptPromisePropertyBase::kResolved)
+  if (closed_promise_->GetState() == ClosedPromise::kResolved)
     return;
 
   // 4. Set the session's closing or closed value to true.
diff --git a/third_party/blink/renderer/modules/encryptedmedia/media_key_session.h b/third_party/blink/renderer/modules/encryptedmedia/media_key_session.h
index 94f557c..429543f 100644
--- a/third_party/blink/renderer/modules/encryptedmedia/media_key_session.h
+++ b/third_party/blink/renderer/modules/encryptedmedia/media_key_session.h
@@ -157,9 +157,7 @@
   bool is_closing_or_closed_;
 
   // Keep track of the closed promise.
-  typedef ScriptPromiseProperty<Member<MediaKeySession>,
-                                ToV8UndefinedGenerator,
-                                Member<DOMException>>
+  typedef ScriptPromiseProperty<ToV8UndefinedGenerator, Member<DOMException>>
       ClosedPromise;
   Member<ClosedPromise> closed_promise_;
 
diff --git a/third_party/blink/renderer/modules/encryptedmedia/media_key_system_access.cc b/third_party/blink/renderer/modules/encryptedmedia/media_key_system_access.cc
index 4b2c93a..6c67637 100644
--- a/third_party/blink/renderer/modules/encryptedmedia/media_key_system_access.cc
+++ b/third_party/blink/renderer/modules/encryptedmedia/media_key_system_access.cc
@@ -93,6 +93,11 @@
 
     switch (capabilities[i].encryption_scheme) {
       case WebMediaKeySystemMediaCapability::EncryptionScheme::kNotSpecified:
+        // https://w3c.github.io/encrypted-media/#dom-mediakeysystemaccess-getconfiguration
+        // "If encryptionScheme was not given by the application, the
+        // accumulated configuration MUST still contain a encryptionScheme
+        // field with a value of null, so that polyfills can detect the user
+        // agent's support for the field without specifying specific values."
         capability->setEncryptionSchemeToNull();
         break;
       case WebMediaKeySystemMediaCapability::EncryptionScheme::kCenc:
@@ -101,6 +106,13 @@
       case WebMediaKeySystemMediaCapability::EncryptionScheme::kCbcs:
         capability->setEncryptionScheme("cbcs");
         break;
+      case WebMediaKeySystemMediaCapability::EncryptionScheme::kCbcs_1_9:
+        capability->setEncryptionScheme("cbcs-1-9");
+        break;
+      case WebMediaKeySystemMediaCapability::EncryptionScheme::kUnrecognized:
+        NOTREACHED()
+            << "Unrecognized encryption scheme should never be returned.";
+        break;
     }
 
     result[i] = capability;
diff --git a/third_party/blink/renderer/modules/encryptedmedia/media_key_system_access_initializer_base.cc b/third_party/blink/renderer/modules/encryptedmedia/media_key_system_access_initializer_base.cc
index b899dfa..dff3c9d 100644
--- a/third_party/blink/renderer/modules/encryptedmedia/media_key_system_access_initializer_base.cc
+++ b/third_party/blink/renderer/modules/encryptedmedia/media_key_system_access_initializer_base.cc
@@ -33,9 +33,11 @@
     return WebMediaKeySystemMediaCapability::EncryptionScheme::kCenc;
   if (encryption_scheme == "cbcs")
     return WebMediaKeySystemMediaCapability::EncryptionScheme::kCbcs;
+  if (encryption_scheme == "cbcs-1-9")
+    return WebMediaKeySystemMediaCapability::EncryptionScheme::kCbcs_1_9;
 
-  NOTREACHED();
-  return WebMediaKeySystemMediaCapability::EncryptionScheme::kNotSpecified;
+  // Any other strings are not recognized (and therefore not supported).
+  return WebMediaKeySystemMediaCapability::EncryptionScheme::kUnrecognized;
 }
 
 static WebVector<WebMediaKeySystemMediaCapability> ConvertCapabilities(
@@ -57,14 +59,8 @@
       if (type.GetParameters().ParameterCount() == 1u)
         result[i].codecs = type.ParameterValueForName("codecs");
     }
-    result[i].robustness = capabilities[i]->robustness();
 
-    // From
-    // https://github.com/WICG/encrypted-media-encryption-scheme/blob/master/explainer.md
-    // "Asking for "any" encryption scheme is unrealistic. Defining null as
-    // "any scheme" is convenient for backward compatibility, though.
-    // Applications which ignore this feature by leaving encryptionScheme null
-    // get the same user agent behavior they did before this feature existed."
+    result[i].robustness = capabilities[i]->robustness();
     result[i].encryption_scheme =
         capabilities[i]->hasEncryptionScheme()
             ? ConvertEncryptionScheme(capabilities[i]->encryptionScheme())
diff --git a/third_party/blink/renderer/modules/encryptedmedia/media_key_system_media_capability.idl b/third_party/blink/renderer/modules/encryptedmedia/media_key_system_media_capability.idl
index 2f28129..f475a84 100644
--- a/third_party/blink/renderer/modules/encryptedmedia/media_key_system_media_capability.idl
+++ b/third_party/blink/renderer/modules/encryptedmedia/media_key_system_media_capability.idl
@@ -2,12 +2,10 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-// https://w3c.github.io/encrypted-media/#idl-def-MediaKeySystemMediaCapability
-
-enum EncryptionScheme { "cenc", "cbcs" };
+// https://w3c.github.io/encrypted-media/#mediakeysystemmediacapability-dictionary
 
 dictionary MediaKeySystemMediaCapability {
     DOMString contentType = "";
     DOMString robustness = "";
-    [RuntimeEnabled=EncryptedMediaEncryptionSchemeQuery] EncryptionScheme? encryptionScheme = null;
+    [RuntimeEnabled=EncryptedMediaEncryptionSchemeQuery] DOMString? encryptionScheme = null;
 };
diff --git a/third_party/blink/renderer/modules/modules_idl_files.gni b/third_party/blink/renderer/modules/modules_idl_files.gni
index 97ea453c..b990fb3 100644
--- a/third_party/blink/renderer/modules/modules_idl_files.gni
+++ b/third_party/blink/renderer/modules/modules_idl_files.gni
@@ -408,6 +408,7 @@
           "webgl/ext_shader_texture_lod.idl",
           "webgl/ext_srgb.idl",
           "webgl/ext_texture_filter_anisotropic.idl",
+          "webgl/ext_texture_norm_16.idl",
           "webgl/khr_parallel_shader_compile.idl",
           "webgl/oes_element_index_uint.idl",
           "webgl/oes_fbo_render_mipmap.idl",
@@ -698,9 +699,9 @@
           "native_file_system/write_params.idl",
           "nfc/ndef_message_init.idl",
           "nfc/ndef_record_init.idl",
-          "nfc/ndef_push_options.idl",
           "nfc/ndef_reading_event_init.idl",
           "nfc/ndef_scan_options.idl",
+          "nfc/ndef_write_options.idl",
           "notifications/get_notification_options.idl",
           "notifications/notification_action.idl",
           "notifications/notification_event_init.idl",
@@ -1032,6 +1033,7 @@
           "webshare/navigator_share.idl",
           "webusb/navigator_usb.idl",
           "webusb/worker_navigator_usb.idl",
+          "xr/element_xr.idl",
           "xr/navigator_xr.idl",
         ],
         "abspath")
diff --git a/third_party/blink/renderer/modules/nfc/ndef_push_options.idl b/third_party/blink/renderer/modules/nfc/ndef_write_options.idl
similarity index 70%
rename from third_party/blink/renderer/modules/nfc/ndef_push_options.idl
rename to third_party/blink/renderer/modules/nfc/ndef_write_options.idl
index 5ef221d..473dec8 100644
--- a/third_party/blink/renderer/modules/nfc/ndef_push_options.idl
+++ b/third_party/blink/renderer/modules/nfc/ndef_write_options.idl
@@ -2,9 +2,9 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-// https://w3c.github.io/web-nfc/#the-ndefpushoptions-dictionary
+// https://w3c.github.io/web-nfc/#the-ndefwriteoptions-dictionary
 
-dictionary NDEFPushOptions {
+dictionary NDEFWriteOptions {
     boolean ignoreRead = true;
     AbortSignal? signal;
 };
diff --git a/third_party/blink/renderer/modules/nfc/ndef_writer.cc b/third_party/blink/renderer/modules/nfc/ndef_writer.cc
index 81c987d..ace0035d 100644
--- a/third_party/blink/renderer/modules/nfc/ndef_writer.cc
+++ b/third_party/blink/renderer/modules/nfc/ndef_writer.cc
@@ -13,7 +13,7 @@
 #include "third_party/blink/renderer/core/dom/dom_exception.h"
 #include "third_party/blink/renderer/core/frame/local_frame.h"
 #include "third_party/blink/renderer/modules/nfc/ndef_message.h"
-#include "third_party/blink/renderer/modules/nfc/ndef_push_options.h"
+#include "third_party/blink/renderer/modules/nfc/ndef_write_options.h"
 #include "third_party/blink/renderer/modules/nfc/nfc_type_converters.h"
 #include "third_party/blink/renderer/modules/nfc/nfc_utils.h"
 #include "third_party/blink/renderer/modules/permissions/permission_utils.h"
@@ -41,12 +41,12 @@
   ContextClient::Trace(visitor);
 }
 
-// https://w3c.github.io/web-nfc/#writing-or-pushing-content
-// https://w3c.github.io/web-nfc/#the-push-method
-ScriptPromise NDEFWriter::push(ScriptState* script_state,
-                               const NDEFMessageSource& push_message,
-                               const NDEFPushOptions* options,
-                               ExceptionState& exception_state) {
+// https://w3c.github.io/web-nfc/#writing-content
+// https://w3c.github.io/web-nfc/#the-write-method
+ScriptPromise NDEFWriter::write(ScriptState* script_state,
+                                const NDEFMessageSource& write_message,
+                                const NDEFWriteOptions* options,
+                                ExceptionState& exception_state) {
   ExecutionContext* execution_context = GetExecutionContext();
   Document* document = To<Document>(execution_context);
   // https://w3c.github.io/web-nfc/#security-policies
@@ -69,7 +69,7 @@
   // Step 11.2: Run "create NDEF message", if this throws an exception,
   // reject p with that exception and abort these steps.
   NDEFMessage* ndef_message =
-      NDEFMessage::Create(execution_context, push_message, exception_state);
+      NDEFMessage::Create(execution_context, write_message, exception_state);
   if (exception_state.HadException()) {
     return ScriptPromise();
   }
@@ -109,7 +109,7 @@
 
 void NDEFWriter::OnRequestPermission(
     ScriptPromiseResolver* resolver,
-    const NDEFPushOptions* options,
+    const NDEFWriteOptions* options,
     device::mojom::blink::NDEFMessagePtr message,
     PermissionStatus status) {
   if (status != PermissionStatus::GRANTED) {
@@ -130,14 +130,14 @@
         &NDEFWriter::Abort, WrapPersistent(this), WrapPersistent(resolver)));
   }
 
-  UseCounter::Count(GetExecutionContext(), WebFeature::kWebNfcNdefWriterPush);
+  UseCounter::Count(GetExecutionContext(), WebFeature::kWebNfcNdefWriterWrite);
   // TODO(https://crbug.com/994936) remove when origin trial is complete.
   UseCounter::Count(GetExecutionContext(), WebFeature::kWebNfcAPI);
 
   auto callback = WTF::Bind(&NDEFWriter::OnRequestCompleted,
                             WrapPersistent(this), WrapPersistent(resolver));
   nfc_proxy_->Push(std::move(message),
-                   device::mojom::blink::NDEFPushOptions::From(options),
+                   device::mojom::blink::NDEFWriteOptions::From(options),
                    std::move(callback));
 }
 
diff --git a/third_party/blink/renderer/modules/nfc/ndef_writer.h b/third_party/blink/renderer/modules/nfc/ndef_writer.h
index e9394ee..69158c5 100644
--- a/third_party/blink/renderer/modules/nfc/ndef_writer.h
+++ b/third_party/blink/renderer/modules/nfc/ndef_writer.h
@@ -15,7 +15,7 @@
 
 namespace blink {
 
-class NDEFPushOptions;
+class NDEFWriteOptions;
 class ExceptionState;
 class ExecutionContext;
 class ScriptPromise;
@@ -35,11 +35,11 @@
 
   void Trace(blink::Visitor*) override;
 
-  // Pushes NDEFMessageSource asynchronously to NFC tag / peer.
-  ScriptPromise push(ScriptState*,
-                     const NDEFMessageSource&,
-                     const NDEFPushOptions*,
-                     ExceptionState&);
+  // Write NDEFMessageSource asynchronously to NFC tag.
+  ScriptPromise write(ScriptState*,
+                      const NDEFMessageSource&,
+                      const NDEFWriteOptions*,
+                      ExceptionState&);
 
   // Called by NFCProxy for notification about connection error.
   void OnMojoConnectionError();
@@ -52,7 +52,7 @@
 
   // Permission handling
   void OnRequestPermission(ScriptPromiseResolver* resolver,
-                           const NDEFPushOptions* options,
+                           const NDEFWriteOptions* options,
                            device::mojom::blink::NDEFMessagePtr ndef_message,
                            mojom::blink::PermissionStatus status);
   mojom::blink::PermissionService* GetPermissionService();
diff --git a/third_party/blink/renderer/modules/nfc/ndef_writer.idl b/third_party/blink/renderer/modules/nfc/ndef_writer.idl
index aa28957..d8d1558 100644
--- a/third_party/blink/renderer/modules/nfc/ndef_writer.idl
+++ b/third_party/blink/renderer/modules/nfc/ndef_writer.idl
@@ -18,7 +18,7 @@
     Exposed=Window
 ] interface NDEFWriter {
     [CallWith=ExecutionContext] constructor();
-    [CallWith=ScriptState, RaisesException] Promise<void> push(
+    [CallWith=ScriptState, RaisesException] Promise<void> write(
         NDEFMessageSource message,
-        optional NDEFPushOptions options={});
+        optional NDEFWriteOptions options={});
 };
diff --git a/third_party/blink/renderer/modules/nfc/nfc_proxy.cc b/third_party/blink/renderer/modules/nfc/nfc_proxy.cc
index b78fbdf..f16b14b 100644
--- a/third_party/blink/renderer/modules/nfc/nfc_proxy.cc
+++ b/third_party/blink/renderer/modules/nfc/nfc_proxy.cc
@@ -90,7 +90,7 @@
 }
 
 void NFCProxy::Push(device::mojom::blink::NDEFMessagePtr message,
-                    device::mojom::blink::NDEFPushOptionsPtr options,
+                    device::mojom::blink::NDEFWriteOptionsPtr options,
                     device::mojom::blink::NFC::PushCallback cb) {
   EnsureMojoConnection();
   nfc_remote_->Push(std::move(message), std::move(options), std::move(cb));
diff --git a/third_party/blink/renderer/modules/nfc/nfc_proxy.h b/third_party/blink/renderer/modules/nfc/nfc_proxy.h
index ed691fc..2c74219 100644
--- a/third_party/blink/renderer/modules/nfc/nfc_proxy.h
+++ b/third_party/blink/renderer/modules/nfc/nfc_proxy.h
@@ -51,7 +51,7 @@
   void StopReading(NDEFReader*);
   bool IsReading(const NDEFReader*);
   void Push(device::mojom::blink::NDEFMessagePtr,
-            device::mojom::blink::NDEFPushOptionsPtr,
+            device::mojom::blink::NDEFWriteOptionsPtr,
             device::mojom::blink::NFC::PushCallback);
   void CancelPush(device::mojom::blink::NFC::CancelPushCallback);
 
diff --git a/third_party/blink/renderer/modules/nfc/nfc_proxy_test.cc b/third_party/blink/renderer/modules/nfc/nfc_proxy_test.cc
index 7743d996..b854fb0 100644
--- a/third_party/blink/renderer/modules/nfc/nfc_proxy_test.cc
+++ b/third_party/blink/renderer/modules/nfc/nfc_proxy_test.cc
@@ -115,7 +115,7 @@
     client_.Bind(std::move(client));
   }
   void Push(device::mojom::blink::NDEFMessagePtr message,
-            device::mojom::blink::NDEFPushOptionsPtr options,
+            device::mojom::blink::NDEFWriteOptionsPtr options,
             PushCallback callback) override {
     set_tag_message(std::move(message));
     std::move(callback).Run(nullptr);
diff --git a/third_party/blink/renderer/modules/nfc/nfc_type_converters.cc b/third_party/blink/renderer/modules/nfc/nfc_type_converters.cc
index 37815840..f40d00a 100644
--- a/third_party/blink/renderer/modules/nfc/nfc_type_converters.cc
+++ b/third_party/blink/renderer/modules/nfc/nfc_type_converters.cc
@@ -9,20 +9,20 @@
 
 #include "services/device/public/mojom/nfc.mojom-blink.h"
 #include "third_party/blink/renderer/modules/nfc/ndef_message.h"
-#include "third_party/blink/renderer/modules/nfc/ndef_push_options.h"
 #include "third_party/blink/renderer/modules/nfc/ndef_record.h"
 #include "third_party/blink/renderer/modules/nfc/ndef_scan_options.h"
+#include "third_party/blink/renderer/modules/nfc/ndef_write_options.h"
 #include "third_party/blink/renderer/modules/nfc/nfc_utils.h"
 #include "third_party/blink/renderer/platform/wtf/text/wtf_string.h"
 
 using device::mojom::blink::NDEFMessage;
 using device::mojom::blink::NDEFMessagePtr;
-using device::mojom::blink::NDEFPushOptions;
-using device::mojom::blink::NDEFPushOptionsPtr;
 using device::mojom::blink::NDEFRecord;
 using device::mojom::blink::NDEFRecordPtr;
 using device::mojom::blink::NDEFScanOptions;
 using device::mojom::blink::NDEFScanOptionsPtr;
+using device::mojom::blink::NDEFWriteOptions;
+using device::mojom::blink::NDEFWriteOptionsPtr;
 
 // Mojo type converters
 namespace mojo {
@@ -42,49 +42,49 @@
   // possible to be null for some "smart-poster" and external type records.
   if (!message)
     return nullptr;
-  NDEFMessagePtr messagePtr = NDEFMessage::New();
-  messagePtr->data.resize(message->records().size());
+  NDEFMessagePtr message_ptr = NDEFMessage::New();
+  message_ptr->data.resize(message->records().size());
   for (wtf_size_t i = 0; i < message->records().size(); ++i) {
     NDEFRecordPtr record = NDEFRecord::From(message->records()[i].Get());
     DCHECK(record);
-    messagePtr->data[i] = std::move(record);
+    message_ptr->data[i] = std::move(record);
   }
-  return messagePtr;
+  return message_ptr;
 }
 
-NDEFPushOptionsPtr
-TypeConverter<NDEFPushOptionsPtr, const blink::NDEFPushOptions*>::Convert(
-    const blink::NDEFPushOptions* pushOptions) {
-  // https://w3c.github.io/web-nfc/#the-ndefpushoptions-dictionary
-  // Default values for NDEFPushOptions dictionary are:
+NDEFWriteOptionsPtr
+TypeConverter<NDEFWriteOptionsPtr, const blink::NDEFWriteOptions*>::Convert(
+    const blink::NDEFWriteOptions* write_options) {
+  // https://w3c.github.io/web-nfc/#the-ndefwriteoptions-dictionary
+  // Default values for NDEFWriteOptions dictionary are:
   // ignoreRead = true
-  NDEFPushOptionsPtr pushOptionsPtr = NDEFPushOptions::New();
-  pushOptionsPtr->ignore_read = pushOptions->ignoreRead();
+  NDEFWriteOptionsPtr write_options_ptr = NDEFWriteOptions::New();
+  write_options_ptr->ignore_read = write_options->ignoreRead();
 
-  return pushOptionsPtr;
+  return write_options_ptr;
 }
 
 NDEFScanOptionsPtr
 TypeConverter<NDEFScanOptionsPtr, const blink::NDEFScanOptions*>::Convert(
-    const blink::NDEFScanOptions* scanOptions) {
+    const blink::NDEFScanOptions* scan_options) {
   // https://w3c.github.io/web-nfc/#dom-ndefscanoptions
   // Default values for NDEFScanOptions dictionary are:
   // id = undefined, recordType = undefined, mediaType = undefined
-  NDEFScanOptionsPtr scanOptionsPtr = NDEFScanOptions::New();
+  NDEFScanOptionsPtr scan_options_ptr = NDEFScanOptions::New();
 
-  if (scanOptions->hasId()) {
-    scanOptionsPtr->id = scanOptions->id();
+  if (scan_options->hasId()) {
+    scan_options_ptr->id = scan_options->id();
   }
 
-  if (scanOptions->hasRecordType()) {
-    scanOptionsPtr->record_type = scanOptions->recordType();
+  if (scan_options->hasRecordType()) {
+    scan_options_ptr->record_type = scan_options->recordType();
   }
 
-  if (scanOptions->hasMediaType()) {
-    scanOptionsPtr->media_type = scanOptions->mediaType();
+  if (scan_options->hasMediaType()) {
+    scan_options_ptr->media_type = scan_options->mediaType();
   }
 
-  return scanOptionsPtr;
+  return scan_options_ptr;
 }
 
 }  // namespace mojo
diff --git a/third_party/blink/renderer/modules/nfc/nfc_type_converters.h b/third_party/blink/renderer/modules/nfc/nfc_type_converters.h
index 88a89ce..1343c15 100644
--- a/third_party/blink/renderer/modules/nfc/nfc_type_converters.h
+++ b/third_party/blink/renderer/modules/nfc/nfc_type_converters.h
@@ -14,7 +14,7 @@
 class NDEFRecord;
 class NDEFMessage;
 class NDEFScanOptions;
-class NDEFPushOptions;
+class NDEFWriteOptions;
 
 }  // namespace blink
 
@@ -35,10 +35,10 @@
 };
 
 template <>
-struct TypeConverter<device::mojom::blink::NDEFPushOptionsPtr,
-                     const ::blink::NDEFPushOptions*> {
-  static device::mojom::blink::NDEFPushOptionsPtr Convert(
-      const ::blink::NDEFPushOptions* pushOptions);
+struct TypeConverter<device::mojom::blink::NDEFWriteOptionsPtr,
+                     const ::blink::NDEFWriteOptions*> {
+  static device::mojom::blink::NDEFWriteOptionsPtr Convert(
+      const ::blink::NDEFWriteOptions* writeOptions);
 };
 
 template <>
diff --git a/third_party/blink/renderer/modules/presentation/presentation_availability_test.cc b/third_party/blink/renderer/modules/presentation/presentation_availability_test.cc
index 0eebe1d..89cbd28 100644
--- a/third_party/blink/renderer/modules/presentation/presentation_availability_test.cc
+++ b/third_party/blink/renderer/modules/presentation/presentation_availability_test.cc
@@ -30,8 +30,7 @@
 
     Persistent<PresentationAvailabilityProperty> resolver =
         MakeGarbageCollected<PresentationAvailabilityProperty>(
-            scope.GetExecutionContext(), nullptr,
-            PresentationAvailabilityProperty::kReady);
+            scope.GetExecutionContext());
     Persistent<PresentationAvailability> availability =
         PresentationAvailability::Take(resolver, urls, false);
 
diff --git a/third_party/blink/renderer/modules/presentation/presentation_promise_property.h b/third_party/blink/renderer/modules/presentation/presentation_promise_property.h
index 9ab4783..c9b9c9f 100644
--- a/third_party/blink/renderer/modules/presentation/presentation_promise_property.h
+++ b/third_party/blink/renderer/modules/presentation/presentation_promise_property.h
@@ -11,11 +11,9 @@
 namespace blink {
 
 class PresentationAvailability;
-class PresentationRequest;
 
 using PresentationAvailabilityProperty =
-    ScriptPromiseProperty<Member<PresentationRequest>,
-                          Member<PresentationAvailability>,
+    ScriptPromiseProperty<Member<PresentationAvailability>,
                           Member<DOMException>>;
 
 }  // namespace blink
diff --git a/third_party/blink/renderer/modules/presentation/presentation_receiver.cc b/third_party/blink/renderer/modules/presentation/presentation_receiver.cc
index df661cb6..35c0427 100644
--- a/third_party/blink/renderer/modules/presentation/presentation_receiver.cc
+++ b/third_party/blink/renderer/modules/presentation/presentation_receiver.cc
@@ -56,12 +56,12 @@
   ExecutionContext* execution_context = ExecutionContext::From(script_state);
   RecordOriginTypeAccess(*execution_context);
   if (!connection_list_property_) {
-    connection_list_property_ = MakeGarbageCollected<ConnectionListProperty>(
-        execution_context, this, ConnectionListProperty::kReady);
+    connection_list_property_ =
+        MakeGarbageCollected<ConnectionListProperty>(execution_context);
   }
 
-  if (!connection_list_->IsEmpty() && connection_list_property_->GetState() ==
-                                          ScriptPromisePropertyBase::kPending)
+  if (!connection_list_->IsEmpty() &&
+      connection_list_property_->GetState() == ConnectionListProperty::kPending)
     connection_list_property_->Resolve(connection_list_);
 
   return connection_list_property_->Promise(script_state->World());
@@ -102,10 +102,10 @@
     return;
 
   if (connection_list_property_->GetState() ==
-      ScriptPromisePropertyBase::kPending) {
+      ConnectionListProperty::kPending) {
     connection_list_property_->Resolve(connection_list_);
   } else if (connection_list_property_->GetState() ==
-             ScriptPromisePropertyBase::kResolved) {
+             ConnectionListProperty::kResolved) {
     connection_list_->DispatchConnectionAvailableEvent(connection);
   }
 }
diff --git a/third_party/blink/renderer/modules/presentation/presentation_receiver.h b/third_party/blink/renderer/modules/presentation/presentation_receiver.h
index 714eba95..1802d7c9 100644
--- a/third_party/blink/renderer/modules/presentation/presentation_receiver.h
+++ b/third_party/blink/renderer/modules/presentation/presentation_receiver.h
@@ -36,8 +36,7 @@
   USING_GARBAGE_COLLECTED_MIXIN(PresentationReceiver);
   DEFINE_WRAPPERTYPEINFO();
   using ConnectionListProperty =
-      ScriptPromiseProperty<Member<PresentationReceiver>,
-                            Member<PresentationConnectionList>,
+      ScriptPromiseProperty<Member<PresentationConnectionList>,
                             Member<DOMException>>;
 
  public:
diff --git a/third_party/blink/renderer/modules/presentation/presentation_receiver_test.cc b/third_party/blink/renderer/modules/presentation/presentation_receiver_test.cc
index cc6e8a48..7a4f165 100644
--- a/third_party/blink/renderer/modules/presentation/presentation_receiver_test.cc
+++ b/third_party/blink/renderer/modules/presentation/presentation_receiver_test.cc
@@ -29,11 +29,12 @@
 
 class PresentationReceiverTest : public testing::Test {
  public:
+  using ConnectionListProperty = PresentationReceiver::ConnectionListProperty;
   PresentationReceiverTest()
       : connection_info_(KURL("https://example.com"), "id") {}
   void AddConnectionavailableEventListener(EventListener*,
                                            const PresentationReceiver*);
-  void VerifyConnectionListPropertyState(ScriptPromisePropertyBase::State,
+  void VerifyConnectionListPropertyState(ConnectionListProperty::State,
                                          const PresentationReceiver*);
   void VerifyConnectionListSize(size_t expected_size,
                                 const PresentationReceiver*);
@@ -65,7 +66,7 @@
 }
 
 void PresentationReceiverTest::VerifyConnectionListPropertyState(
-    ScriptPromisePropertyBase::State expected_state,
+    ConnectionListProperty::State expected_state,
     const PresentationReceiver* receiver) {
   EXPECT_EQ(expected_state, receiver->connection_list_property_->GetState());
 }
@@ -90,8 +91,7 @@
 
   receiver->connectionList(scope.GetScriptState());
 
-  VerifyConnectionListPropertyState(ScriptPromisePropertyBase::kPending,
-                                    receiver);
+  VerifyConnectionListPropertyState(ConnectionListProperty::kPending, receiver);
   VerifyConnectionListSize(0, receiver);
 }
 
@@ -112,7 +112,7 @@
       connection_info_.Clone(), std::move(controller_connection_),
       std::move(receiver_connection_receiver_));
 
-  VerifyConnectionListPropertyState(ScriptPromisePropertyBase::kResolved,
+  VerifyConnectionListPropertyState(ConnectionListProperty::kResolved,
                                     receiver);
   VerifyConnectionListSize(1, receiver);
 }
@@ -187,7 +187,7 @@
       std::move(receiver_connection_receiver_2));
 
   receiver->connectionList(scope.GetScriptState());
-  VerifyConnectionListPropertyState(ScriptPromisePropertyBase::kResolved,
+  VerifyConnectionListPropertyState(ConnectionListProperty::kResolved,
                                     receiver);
   VerifyConnectionListSize(2, receiver);
 }
diff --git a/third_party/blink/renderer/modules/presentation/presentation_request.cc b/third_party/blink/renderer/modules/presentation/presentation_request.cc
index 16a615e..fdba039 100644
--- a/third_party/blink/renderer/modules/presentation/presentation_request.cc
+++ b/third_party/blink/renderer/modules/presentation/presentation_request.cc
@@ -129,8 +129,9 @@
   if (HasEventListeners())
     return true;
 
-  return availability_property_ && availability_property_->GetState() ==
-                                       ScriptPromisePropertyBase::kPending;
+  return availability_property_ &&
+         availability_property_->GetState() ==
+             PresentationAvailabilityProperty::kPending;
 }
 
 ScriptPromise PresentationRequest::start(ScriptState* script_state,
@@ -217,8 +218,7 @@
   if (!availability_property_) {
     availability_property_ =
         MakeGarbageCollected<PresentationAvailabilityProperty>(
-            ExecutionContext::From(script_state), this,
-            PresentationAvailabilityProperty::kReady);
+            ExecutionContext::From(script_state));
 
     controller->GetAvailabilityState()->RequestAvailability(
         urls_, MakeGarbageCollected<PresentationAvailabilityCallbacks>(
diff --git a/third_party/blink/renderer/modules/service_worker/fetch_event.cc b/third_party/blink/renderer/modules/service_worker/fetch_event.cc
index ba716e3..8dd094d 100644
--- a/third_party/blink/renderer/modules/service_worker/fetch_event.cc
+++ b/third_party/blink/renderer/modules/service_worker/fetch_event.cc
@@ -94,9 +94,7 @@
       ContextClient(ExecutionContext::From(script_state)),
       observer_(respond_with_observer),
       preload_response_property_(MakeGarbageCollected<PreloadResponseProperty>(
-          ExecutionContext::From(script_state),
-          this,
-          PreloadResponseProperty::kPreloadResponse)),
+          ExecutionContext::From(script_state))),
       worker_timing_remote_(std::move(worker_timing_remote)) {
   if (!navigation_preload_sent)
     preload_response_property_->ResolveWithUndefined();
diff --git a/third_party/blink/renderer/modules/service_worker/fetch_event.h b/third_party/blink/renderer/modules/service_worker/fetch_event.h
index 1b688c5..1c98c36 100644
--- a/third_party/blink/renderer/modules/service_worker/fetch_event.h
+++ b/third_party/blink/renderer/modules/service_worker/fetch_event.h
@@ -47,9 +47,8 @@
   USING_GARBAGE_COLLECTED_MIXIN(FetchEvent);
 
  public:
-  using PreloadResponseProperty = ScriptPromiseProperty<Member<FetchEvent>,
-                                                        Member<Response>,
-                                                        Member<DOMException>>;
+  using PreloadResponseProperty =
+      ScriptPromiseProperty<Member<Response>, Member<DOMException>>;
   static FetchEvent* Create(ScriptState*,
                             const AtomicString& type,
                             const FetchEventInit*);
diff --git a/third_party/blink/renderer/modules/service_worker/service_worker_container.cc b/third_party/blink/renderer/modules/service_worker/service_worker_container.cc
index c2a6591..52f8a97 100644
--- a/third_party/blink/renderer/modules/service_worker/service_worker_container.cc
+++ b/third_party/blink/renderer/modules/service_worker/service_worker_container.cc
@@ -620,8 +620,7 @@
 
 ServiceWorkerContainer::ReadyProperty*
 ServiceWorkerContainer::CreateReadyProperty() {
-  return MakeGarbageCollected<ReadyProperty>(GetExecutionContext(), this,
-                                             ReadyProperty::kReady);
+  return MakeGarbageCollected<ReadyProperty>(GetExecutionContext());
 }
 
 void ServiceWorkerContainer::EnableClientMessageQueue() {
diff --git a/third_party/blink/renderer/modules/service_worker/service_worker_container.h b/third_party/blink/renderer/modules/service_worker/service_worker_container.h
index 742d43d..8c8f3251 100644
--- a/third_party/blink/renderer/modules/service_worker/service_worker_container.h
+++ b/third_party/blink/renderer/modules/service_worker/service_worker_container.h
@@ -125,8 +125,7 @@
   class DomContentLoadedListener;
 
   using ReadyProperty =
-      ScriptPromiseProperty<Member<ServiceWorkerContainer>,
-                            Member<ServiceWorkerRegistration>,
+      ScriptPromiseProperty<Member<ServiceWorkerRegistration>,
                             Member<ServiceWorkerRegistration>>;
   ReadyProperty* CreateReadyProperty();
 
diff --git a/third_party/blink/renderer/modules/webgl/BUILD.gn b/third_party/blink/renderer/modules/webgl/BUILD.gn
index 4b54f05..f4a0e88 100644
--- a/third_party/blink/renderer/modules/webgl/BUILD.gn
+++ b/third_party/blink/renderer/modules/webgl/BUILD.gn
@@ -28,6 +28,8 @@
     "ext_srgb.h",
     "ext_texture_filter_anisotropic.cc",
     "ext_texture_filter_anisotropic.h",
+    "ext_texture_norm_16.cc",
+    "ext_texture_norm_16.h",
     "gl_string_query.h",
     "khr_parallel_shader_compile.cc",
     "khr_parallel_shader_compile.h",
diff --git a/third_party/blink/renderer/modules/webgl/ext_texture_norm_16.cc b/third_party/blink/renderer/modules/webgl/ext_texture_norm_16.cc
new file mode 100644
index 0000000..5fc71e9a
--- /dev/null
+++ b/third_party/blink/renderer/modules/webgl/ext_texture_norm_16.cc
@@ -0,0 +1,30 @@
+// 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.
+
+#include "third_party/blink/renderer/modules/webgl/ext_texture_norm_16.h"
+
+namespace blink {
+
+EXTTextureNorm16::EXTTextureNorm16(WebGLRenderingContextBase* context)
+    : WebGLExtension(context) {
+  context->ExtensionsUtil()->EnsureExtensionEnabled("GL_EXT_texture_norm16");
+}
+
+WebGLExtensionName EXTTextureNorm16::GetName() const {
+  return kEXTTextureNorm16Name;
+}
+
+EXTTextureNorm16* EXTTextureNorm16::Create(WebGLRenderingContextBase* context) {
+  return MakeGarbageCollected<EXTTextureNorm16>(context);
+}
+
+bool EXTTextureNorm16::Supported(WebGLRenderingContextBase* context) {
+  return context->ExtensionsUtil()->SupportsExtension("GL_EXT_texture_norm16");
+}
+
+const char* EXTTextureNorm16::ExtensionName() {
+  return "EXT_texture_norm16";
+}
+
+}  // namespace blink
diff --git a/third_party/blink/renderer/modules/webgl/ext_texture_norm_16.h b/third_party/blink/renderer/modules/webgl/ext_texture_norm_16.h
new file mode 100644
index 0000000..67a4e40
--- /dev/null
+++ b/third_party/blink/renderer/modules/webgl/ext_texture_norm_16.h
@@ -0,0 +1,27 @@
+// 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_RENDERER_MODULES_WEBGL_EXT_TEXTURE_NORM_16_H_
+#define THIRD_PARTY_BLINK_RENDERER_MODULES_WEBGL_EXT_TEXTURE_NORM_16_H_
+
+#include "third_party/blink/renderer/modules/webgl/webgl_extension.h"
+
+namespace blink {
+
+class EXTTextureNorm16 final : public WebGLExtension {
+  DEFINE_WRAPPERTYPEINFO();
+
+ public:
+  static EXTTextureNorm16* Create(WebGLRenderingContextBase*);
+  static bool Supported(WebGLRenderingContextBase*);
+  static const char* ExtensionName();
+
+  explicit EXTTextureNorm16(WebGLRenderingContextBase*);
+
+  WebGLExtensionName GetName() const override;
+};
+
+}  // namespace blink
+
+#endif  // THIRD_PARTY_BLINK_RENDERER_MODULES_WEBGL_EXT_TEXTURE_NORM_16_H_
diff --git a/third_party/blink/renderer/modules/webgl/ext_texture_norm_16.idl b/third_party/blink/renderer/modules/webgl/ext_texture_norm_16.idl
new file mode 100644
index 0000000..38158d1
--- /dev/null
+++ b/third_party/blink/renderer/modules/webgl/ext_texture_norm_16.idl
@@ -0,0 +1,19 @@
+// 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.
+
+// https://www.khronos.org/registry/webgl/extensions/EXT_texture_norm16/
+
+[
+    NoInterfaceObject,
+    DoNotCheckConstants
+] interface EXTTextureNorm16 {
+  const unsigned long R16_EXT = 0x822A;
+  const unsigned long RG16_EXT = 0x822C;
+  const unsigned long RGB16_EXT = 0x8054;
+  const unsigned long RGBA16_EXT = 0x805B;
+  const unsigned long R16_SNORM_EXT = 0x8F98;
+  const unsigned long RG16_SNORM_EXT = 0x8F99;
+  const unsigned long RGB16_SNORM_EXT = 0x8F9A;
+  const unsigned long RGBA16_SNORM_EXT = 0x8F9B;
+};
diff --git a/third_party/blink/renderer/modules/webgl/webgl2_rendering_context.cc b/third_party/blink/renderer/modules/webgl/webgl2_rendering_context.cc
index 3e16e97..ed2ac98 100644
--- a/third_party/blink/renderer/modules/webgl/webgl2_rendering_context.cc
+++ b/third_party/blink/renderer/modules/webgl/webgl2_rendering_context.cc
@@ -18,6 +18,7 @@
 #include "third_party/blink/renderer/modules/webgl/ext_disjoint_timer_query_webgl2.h"
 #include "third_party/blink/renderer/modules/webgl/ext_float_blend.h"
 #include "third_party/blink/renderer/modules/webgl/ext_texture_filter_anisotropic.h"
+#include "third_party/blink/renderer/modules/webgl/ext_texture_norm_16.h"
 #include "third_party/blink/renderer/modules/webgl/khr_parallel_shader_compile.h"
 #include "third_party/blink/renderer/modules/webgl/oes_texture_float_linear.h"
 #include "third_party/blink/renderer/modules/webgl/ovr_multiview_2.h"
@@ -130,6 +131,7 @@
   RegisterExtension<EXTFloatBlend>(ext_float_blend_);
   RegisterExtension<EXTTextureFilterAnisotropic>(
       ext_texture_filter_anisotropic_);
+  RegisterExtension<EXTTextureNorm16>(ext_texture_norm16_, kDraftExtension);
   RegisterExtension<KHRParallelShaderCompile>(khr_parallel_shader_compile_);
   RegisterExtension<OESTextureFloatLinear>(oes_texture_float_linear_);
   RegisterExtension<WebGLCompressedTextureASTC>(webgl_compressed_texture_astc_);
@@ -157,6 +159,7 @@
   visitor->Trace(ext_disjoint_timer_query_web_gl2_);
   visitor->Trace(ext_float_blend_);
   visitor->Trace(ext_texture_filter_anisotropic_);
+  visitor->Trace(ext_texture_norm16_);
   visitor->Trace(khr_parallel_shader_compile_);
   visitor->Trace(oes_texture_float_linear_);
   visitor->Trace(ovr_multiview2_);
diff --git a/third_party/blink/renderer/modules/webgl/webgl2_rendering_context.h b/third_party/blink/renderer/modules/webgl/webgl2_rendering_context.h
index 72aa8f6..1af81011 100644
--- a/third_party/blink/renderer/modules/webgl/webgl2_rendering_context.h
+++ b/third_party/blink/renderer/modules/webgl/webgl2_rendering_context.h
@@ -17,6 +17,7 @@
 class EXTColorBufferFloat;
 class EXTFloatBlend;
 class EXTTextureFilterAnisotropic;
+class EXTTextureNorm16;
 class OESTextureFloatLinear;
 class OVRMultiview2;
 class WebGLDebugRendererInfo;
@@ -70,6 +71,7 @@
   Member<EXTDisjointTimerQueryWebGL2> ext_disjoint_timer_query_web_gl2_;
   Member<EXTFloatBlend> ext_float_blend_;
   Member<EXTTextureFilterAnisotropic> ext_texture_filter_anisotropic_;
+  Member<EXTTextureNorm16> ext_texture_norm16_;
   Member<KHRParallelShaderCompile> khr_parallel_shader_compile_;
   Member<OESTextureFloatLinear> oes_texture_float_linear_;
   Member<OVRMultiview2> ovr_multiview2_;
diff --git a/third_party/blink/renderer/modules/webgl/webgl2_rendering_context_base.cc b/third_party/blink/renderer/modules/webgl/webgl2_rendering_context_base.cc
index 22b216c..b446025 100644
--- a/third_party/blink/renderer/modules/webgl/webgl2_rendering_context_base.cc
+++ b/third_party/blink/renderer/modules/webgl/webgl2_rendering_context_base.cc
@@ -925,6 +925,17 @@
       RenderbufferStorageHelper(target, samples, internalformat, width, height,
                                 function_name);
       break;
+    case GL_R16_EXT:
+    case GL_RG16_EXT:
+    case GL_RGBA16_EXT:
+      if (!ExtensionEnabled(kEXTTextureNorm16Name)) {
+        SynthesizeGLError(GL_INVALID_ENUM, function_name,
+                          "EXT_texture_norm16 not enabled");
+        return;
+      }
+      RenderbufferStorageHelper(target, samples, internalformat, width, height,
+                                function_name);
+      break;
     default:
       SynthesizeGLError(GL_INVALID_ENUM, function_name,
                         "invalid internalformat");
diff --git a/third_party/blink/renderer/modules/webgl/webgl_extension_name.h b/third_party/blink/renderer/modules/webgl/webgl_extension_name.h
index 2126c6bc..cba33eaa 100644
--- a/third_party/blink/renderer/modules/webgl/webgl_extension_name.h
+++ b/third_party/blink/renderer/modules/webgl/webgl_extension_name.h
@@ -19,8 +19,9 @@
   kEXTFragDepthName,
   kEXTShaderTextureLODName,
   kEXTsRGBName,
-  kKHRParallelShaderCompileName,
   kEXTTextureFilterAnisotropicName,
+  kEXTTextureNorm16Name,
+  kKHRParallelShaderCompileName,
   kOESElementIndexUintName,
   kOESFboRenderMipmapName,
   kOESStandardDerivativesName,
diff --git a/third_party/blink/renderer/modules/webgl/webgl_query.cc b/third_party/blink/renderer/modules/webgl/webgl_query.cc
index 2fed3d9..52c1dbdc 100644
--- a/third_party/blink/renderer/modules/webgl/webgl_query.cc
+++ b/third_party/blink/renderer/modules/webgl/webgl_query.cc
@@ -16,14 +16,8 @@
       target_(0),
       can_update_availability_(false),
       query_result_available_(false),
-      query_result_(0) {
-  if (ctx->canvas()) {
-    task_runner_ =
-        ctx->canvas()->GetDocument().GetTaskRunner(TaskType::kInternalDefault);
-  } else {
-    // Fallback for OffscreenCanvas (no frame scheduler)
-    task_runner_ = Thread::Current()->GetTaskRunner();
-  }
+      query_result_(0),
+      task_runner_(ctx->GetContextTaskRunner()) {
   GLuint query;
   ctx->ContextGL()->GenQueriesEXT(1, &query);
   SetObject(query);
diff --git a/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.cc b/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.cc
index 4117d99f..0250177 100644
--- a/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.cc
+++ b/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.cc
@@ -875,6 +875,18 @@
     GL_DEPTH32F_STENCIL8,
 };
 
+// Exposed by EXT_texture_norm16
+static constexpr GLenum kSupportedInternalFormatsEXTTextureNorm16ES3[] = {
+    GL_R16_EXT,         GL_RG16_EXT,        GL_RGB16_EXT,
+    GL_RGBA16_EXT,      GL_R16_SNORM_EXT,   GL_RG16_SNORM_EXT,
+    GL_RGB16_SNORM_EXT, GL_RGBA16_SNORM_EXT};
+
+static constexpr GLenum kSupportedFormatsEXTTextureNorm16ES3[] = {GL_RED,
+                                                                  GL_RG};
+
+static constexpr GLenum kSupportedTypesEXTTextureNorm16ES3[] = {
+    GL_SHORT, GL_UNSIGNED_SHORT};
+
 // Exposed by EXT_color_buffer_float
 static const GLenum kSupportedInternalFormatsCopyTexImageFloatES3[] = {
     GL_R16F,   GL_R32F,    GL_RG16F,   GL_RG32F,         GL_RGB16F,
@@ -1234,6 +1246,7 @@
   is_web_gl_depth_texture_formats_types_added_ = false;
   is_ext_srgb_formats_types_added_ = false;
   is_ext_color_buffer_float_formats_added_ = false;
+  is_ext_texture_norm16_added_ = false;
 
   supported_internal_formats_.clear();
   ADD_VALUES_TO_SET(supported_internal_formats_, kSupportedFormatsES2);
@@ -1378,6 +1391,11 @@
   }
 }
 
+scoped_refptr<base::SingleThreadTaskRunner>
+WebGLRenderingContextBase::GetContextTaskRunner() {
+  return task_runner_;
+}
+
 void WebGLRenderingContextBase::DidDraw(const SkIRect& dirty_rect) {
   MarkContextChanged(kCanvasChanged);
   CanvasRenderingContext::DidDraw(dirty_rect);
@@ -7141,6 +7159,19 @@
   }
 }
 
+void WebGLRenderingContextBase::AddExtensionSupportedFormatsTypesWebGL2() {
+  if (!is_ext_texture_norm16_added_ &&
+      ExtensionEnabled(kEXTTextureNorm16Name)) {
+    ADD_VALUES_TO_SET(supported_internal_formats_,
+                      kSupportedInternalFormatsEXTTextureNorm16ES3);
+    ADD_VALUES_TO_SET(supported_tex_image_source_internal_formats_,
+                      kSupportedInternalFormatsEXTTextureNorm16ES3);
+    ADD_VALUES_TO_SET(supported_formats_, kSupportedFormatsEXTTextureNorm16ES3);
+    ADD_VALUES_TO_SET(supported_types_, kSupportedTypesEXTTextureNorm16ES3);
+    is_ext_texture_norm16_added_ = true;
+  }
+}
+
 bool WebGLRenderingContextBase::ValidateTexImageSourceFormatAndType(
     const char* function_name,
     TexImageFunctionType function_type,
@@ -7159,6 +7190,8 @@
 
   if (!IsWebGL2OrHigher()) {
     AddExtensionSupportedFormatsTypes();
+  } else {
+    AddExtensionSupportedFormatsTypesWebGL2();
   }
 
   if (internalformat != 0 &&
@@ -7206,6 +7239,8 @@
 
   if (!IsWebGL2OrHigher()) {
     AddExtensionSupportedFormatsTypes();
+  } else {
+    AddExtensionSupportedFormatsTypesWebGL2();
   }
 
   if (internalformat != 0 && supported_internal_formats_.find(internalformat) ==
diff --git a/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.h b/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.h
index fd944fa..cf543c06 100644
--- a/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.h
+++ b/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.h
@@ -612,32 +612,39 @@
   void UpdateNumberOfUserAllocatedMultisampledRenderbuffers(int delta);
 
  protected:
+  // WebGL object types.
+  friend class WebGLContextObject;
+  friend class WebGLObject;
+  friend class WebGLQuery;
+  friend class WebGLTimerQueryEXT;
+  friend class WebGLVertexArrayObjectBase;
+
+  // Implementation helpers.
+  friend class ScopedDrawingBufferBinder;
+  friend class ScopedFramebufferRestorer;
+  friend class ScopedTexture2DRestorer;
+  friend class ScopedUnpackParametersResetRestore;
+  friend class WebGLRenderingContextErrorMessageCallback;
+
+  // WebGL extensions.
   friend class EXTDisjointTimerQuery;
   friend class EXTDisjointTimerQueryWebGL2;
-  friend class WebGLDrawBuffers;
-  friend class WebGLFramebuffer;
-  friend class WebGLObject;
-  friend class WebGLContextObject;
   friend class OESVertexArrayObject;
   friend class OVRMultiview2;
-  friend class WebGLDebugShaders;
   friend class WebGLCompressedTextureASTC;
   friend class WebGLCompressedTextureETC;
   friend class WebGLCompressedTextureETC1;
   friend class WebGLCompressedTexturePVRTC;
   friend class WebGLCompressedTextureS3TC;
   friend class WebGLCompressedTextureS3TCsRGB;
+  friend class WebGLDebugShaders;
+  friend class WebGLDrawBuffers;
+  friend class WebGLDrawInstancedBaseVertexBaseInstance;
+  friend class WebGLFramebuffer;
   friend class WebGLMultiDraw;
   friend class WebGLMultiDrawCommon;
-  friend class WebGLDrawInstancedBaseVertexBaseInstance;
   friend class WebGLMultiDrawInstancedBaseVertexBaseInstance;
-  friend class WebGLRenderingContextErrorMessageCallback;
-  friend class WebGLVertexArrayObjectBase;
   friend class WebGLVideoTexture;
-  friend class ScopedDrawingBufferBinder;
-  friend class ScopedTexture2DRestorer;
-  friend class ScopedFramebufferRestorer;
-  friend class ScopedUnpackParametersResetRestore;
 
   WebGLRenderingContextBase(CanvasRenderingContextHost*,
                             std::unique_ptr<WebGraphicsContext3DProvider>,
@@ -683,6 +690,8 @@
 
   void OnErrorMessage(const char*, int32_t id);
 
+  scoped_refptr<base::SingleThreadTaskRunner> GetContextTaskRunner();
+
   // Query if depth_stencil buffer is supported.
   bool IsDepthStencilSupported() { return is_depth_stencil_supported_; }
 
@@ -993,6 +1002,7 @@
   bool is_web_gl_depth_texture_formats_types_added_ = false;
   bool is_ext_srgb_formats_types_added_ = false;
   bool is_ext_color_buffer_float_formats_added_ = false;
+  bool is_ext_texture_norm16_added_ = false;
 
   GLenumHashSet supported_internal_formats_;
   GLenumHashSet supported_tex_image_source_internal_formats_;
@@ -1217,6 +1227,7 @@
                                          GLenum target);
 
   void AddExtensionSupportedFormatsTypes();
+  void AddExtensionSupportedFormatsTypesWebGL2();
 
   // Helper function to check input internalformat/format/type for functions
   // Tex{Sub}Image taking TexImageSource source data.  Generates GL error and
diff --git a/third_party/blink/renderer/modules/webgl/webgl_sync.cc b/third_party/blink/renderer/modules/webgl/webgl_sync.cc
index 01ec4dd..6fab1b9 100644
--- a/third_party/blink/renderer/modules/webgl/webgl_sync.cc
+++ b/third_party/blink/renderer/modules/webgl/webgl_sync.cc
@@ -17,14 +17,8 @@
     : WebGLSharedObject(ctx),
       sync_status_(GL_UNSIGNALED),
       object_(object),
-      object_type_(object_type) {
-  if (ctx->canvas()) {
-    task_runner_ =
-        ctx->canvas()->GetDocument().GetTaskRunner(TaskType::kInternalDefault);
-  } else {
-    // Fallback for OffscreenCanvas (no frame scheduler)
-    task_runner_ = Thread::Current()->GetTaskRunner();
-  }
+      object_type_(object_type),
+      task_runner_(ctx->GetContextTaskRunner()) {
   ScheduleAllowCacheUpdate();
 }
 
diff --git a/third_party/blink/renderer/modules/webgl/webgl_timer_query_ext.cc b/third_party/blink/renderer/modules/webgl/webgl_timer_query_ext.cc
index 039c94e..52820dc 100644
--- a/third_party/blink/renderer/modules/webgl/webgl_timer_query_ext.cc
+++ b/third_party/blink/renderer/modules/webgl/webgl_timer_query_ext.cc
@@ -18,8 +18,7 @@
       can_update_availability_(false),
       query_result_available_(false),
       query_result_(0),
-      task_runner_(ctx->canvas()->GetDocument().GetTaskRunner(
-          TaskType::kInternalDefault)) {
+      task_runner_(ctx->GetContextTaskRunner()) {
   Context()->ContextGL()->GenQueriesEXT(1, &query_id_);
 }
 
diff --git a/third_party/blink/renderer/modules/webgpu/gpu_device.cc b/third_party/blink/renderer/modules/webgpu/gpu_device.cc
index 040919087..05846cc 100644
--- a/third_party/blink/renderer/modules/webgpu/gpu_device.cc
+++ b/third_party/blink/renderer/modules/webgpu/gpu_device.cc
@@ -44,9 +44,7 @@
       queue_(MakeGarbageCollected<GPUQueue>(
           this,
           GetProcs().deviceCreateQueue(GetHandle()))),
-      lost_property_(MakeGarbageCollected<LostProperty>(execution_context,
-                                                        this,
-                                                        LostProperty::kLost)),
+      lost_property_(MakeGarbageCollected<LostProperty>(execution_context)),
       error_callback_(
           BindRepeatingDawnCallback(&GPUDevice::OnUncapturedError,
                                     WrapWeakPersistent(this),
@@ -77,7 +75,7 @@
 
   // TODO: Use device lost callback instead of uncaptured error callback.
   if (errorType == WGPUErrorType_DeviceLost &&
-      lost_property_->GetState() == ScriptPromisePropertyBase::kPending) {
+      lost_property_->GetState() == LostProperty::kPending) {
     auto* device_lost_info = MakeGarbageCollected<GPUDeviceLostInfo>(message);
     lost_property_->Resolve(device_lost_info);
   }
diff --git a/third_party/blink/renderer/modules/webgpu/gpu_device.h b/third_party/blink/renderer/modules/webgpu/gpu_device.h
index d96e050..437d596 100644
--- a/third_party/blink/renderer/modules/webgpu/gpu_device.h
+++ b/third_party/blink/renderer/modules/webgpu/gpu_device.h
@@ -106,9 +106,8 @@
   ExecutionContext* GetExecutionContext() const override;
 
  private:
-  using LostProperty = ScriptPromiseProperty<Member<GPUDevice>,
-                                             Member<GPUDeviceLostInfo>,
-                                             ToV8UndefinedGenerator>;
+  using LostProperty =
+      ScriptPromiseProperty<Member<GPUDeviceLostInfo>, ToV8UndefinedGenerator>;
 
   void OnUncapturedError(ExecutionContext* execution_context,
                          WGPUErrorType errorType,
diff --git a/third_party/blink/renderer/modules/webmidi/BUILD.gn b/third_party/blink/renderer/modules/webmidi/BUILD.gn
index f9d672c2..d804ae6 100644
--- a/third_party/blink/renderer/modules/webmidi/BUILD.gn
+++ b/third_party/blink/renderer/modules/webmidi/BUILD.gn
@@ -31,7 +31,5 @@
     "navigator_web_midi.h",
   ]
 
-  deps = [
-    "//media/midi:mojo_blink",
-  ]
+  deps = [ "//media/midi:mojo_blink" ]
 }
diff --git a/third_party/blink/renderer/modules/xr/BUILD.gn b/third_party/blink/renderer/modules/xr/BUILD.gn
index 0da6263..74a8d76 100644
--- a/third_party/blink/renderer/modules/xr/BUILD.gn
+++ b/third_party/blink/renderer/modules/xr/BUILD.gn
@@ -6,6 +6,7 @@
 
 blink_modules_sources("xr") {
   sources = [
+    "element_xr.h",
     "navigator_xr.cc",
     "navigator_xr.h",
     "type_converters.cc",
diff --git a/third_party/blink/renderer/modules/xr/element_xr.h b/third_party/blink/renderer/modules/xr/element_xr.h
new file mode 100644
index 0000000..a8229398
--- /dev/null
+++ b/third_party/blink/renderer/modules/xr/element_xr.h
@@ -0,0 +1,21 @@
+// Copyright 2020 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_RENDERER_MODULES_XR_ELEMENT_XR_H_
+#define THIRD_PARTY_BLINK_RENDERER_MODULES_XR_ELEMENT_XR_H_
+
+#include "third_party/blink/renderer/modules/event_target_modules.h"
+
+namespace blink {
+
+class ElementXR {
+  STATIC_ONLY(ElementXR);
+
+ public:
+  DEFINE_STATIC_ATTRIBUTE_EVENT_LISTENER(beforexrselect, kBeforexrselect)
+};
+
+}  // namespace blink
+
+#endif  // THIRD_PARTY_BLINK_RENDERER_MODULES_XR_ELEMENT_XR_H_
diff --git a/third_party/blink/renderer/modules/xr/element_xr.idl b/third_party/blink/renderer/modules/xr/element_xr.idl
new file mode 100644
index 0000000..b07f6e3
--- /dev/null
+++ b/third_party/blink/renderer/modules/xr/element_xr.idl
@@ -0,0 +1,12 @@
+// Copyright 2020 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.
+
+// https://immersive-web.github.io/dom-overlays/#onbeforexrselect
+
+[
+    ImplementedAs=ElementXR
+]
+partial interface Element {
+  [RuntimeEnabled=WebXRIncubations] attribute EventHandler onbeforexrselect;
+};
diff --git a/third_party/blink/renderer/modules/xr/xr_input_source.cc b/third_party/blink/renderer/modules/xr/xr_input_source.cc
index af14ac9..cdcb3e93 100644
--- a/third_party/blink/renderer/modules/xr/xr_input_source.cc
+++ b/third_party/blink/renderer/modules/xr/xr_input_source.cc
@@ -5,11 +5,18 @@
 #include "third_party/blink/renderer/modules/xr/xr_input_source.h"
 
 #include "base/time/time.h"
+#include "third_party/blink/renderer/core/dom/element.h"
+#include "third_party/blink/renderer/core/dom/events/event_dispatcher.h"
+#include "third_party/blink/renderer/core/dom/events/event_path.h"
 #include "third_party/blink/renderer/core/frame/local_frame.h"
+#include "third_party/blink/renderer/core/html/html_frame_element_base.h"
+#include "third_party/blink/renderer/core/input/event_handling_util.h"
+#include "third_party/blink/renderer/core/layout/hit_test_location.h"
 #include "third_party/blink/renderer/modules/xr/xr.h"
 #include "third_party/blink/renderer/modules/xr/xr_grip_space.h"
 #include "third_party/blink/renderer/modules/xr/xr_input_source_event.h"
 #include "third_party/blink/renderer/modules/xr/xr_session.h"
+#include "third_party/blink/renderer/modules/xr/xr_session_event.h"
 #include "third_party/blink/renderer/modules/xr/xr_space.h"
 #include "third_party/blink/renderer/modules/xr/xr_target_ray_space.h"
 #include "third_party/blink/renderer/modules/xr/xr_utils.h"
@@ -69,7 +76,9 @@
     updated_source = MakeGarbageCollected<XRInputSource>(*other);
   }
 
-  updated_source->UpdateGamepad(state->gamepad);
+  if (updated_source->state_.is_visible) {
+    updated_source->UpdateGamepad(state->gamepad);
+  }
 
   // Update the input source's description if this state update includes them.
   if (state->description) {
@@ -79,8 +88,10 @@
     updated_source->state_.target_ray_mode = desc->target_ray_mode;
     updated_source->state_.handedness = desc->handedness;
 
-    updated_source->input_from_pointer_ =
-        TryGetTransformationMatrix(desc->input_from_pointer);
+    if (updated_source->state_.is_visible) {
+      updated_source->input_from_pointer_ =
+          TryGetTransformationMatrix(desc->input_from_pointer);
+    }
 
     updated_source->state_.profiles.clear();
     for (const auto& name : state->description->profiles) {
@@ -88,8 +99,10 @@
     }
   }
 
-  updated_source->mojo_from_input_ =
-      TryGetTransformationMatrix(state->mojo_from_input);
+  if (updated_source->state_.is_visible) {
+    updated_source->mojo_from_input_ =
+        TryGetTransformationMatrix(state->mojo_from_input);
+  }
 
   updated_source->state_.emulated_position = state->emulated_position;
 
@@ -151,6 +164,9 @@
 }
 
 XRSpace* XRInputSource::gripSpace() const {
+  if (!state_.is_visible)
+    return nullptr;
+
   if (state_.target_ray_mode == device::mojom::XRTargetRayMode::POINTING) {
     return grip_space_;
   }
@@ -189,7 +205,9 @@
 
 void XRInputSource::SetInputFromPointer(
     const TransformationMatrix* input_from_pointer) {
-  input_from_pointer_ = TryGetTransformationMatrix(input_from_pointer);
+  if (state_.is_visible) {
+    input_from_pointer_ = TryGetTransformationMatrix(input_from_pointer);
+  }
 }
 
 void XRInputSource::SetGamepadConnected(bool state) {
@@ -216,6 +234,7 @@
 }
 
 void XRInputSource::OnSelectStart() {
+  DVLOG(3) << __func__;
   // Discard duplicate events and ones after the session has ended.
   if (state_.primary_input_pressed || session_->ended())
     return;
@@ -223,6 +242,7 @@
   state_.primary_input_pressed = true;
   state_.selection_cancelled = false;
 
+  DVLOG(3) << __func__ << ": dispatch selectstart event";
   XRInputSourceEvent* event =
       CreateInputSourceEvent(event_type_names::kSelectstart);
   session_->DispatchEvent(*event);
@@ -235,6 +255,7 @@
 }
 
 void XRInputSource::OnSelectEnd() {
+  DVLOG(3) << __func__;
   // Discard duplicate events and ones after the session has ended.
   if (!state_.primary_input_pressed || session_->ended())
     return;
@@ -245,6 +266,7 @@
   if (!frame)
     return;
 
+  DVLOG(3) << __func__ << ": dispatch selectend event";
   XRInputSourceEvent* event =
       CreateInputSourceEvent(event_type_names::kSelectend);
   session_->DispatchEvent(*event);
@@ -257,6 +279,7 @@
 }
 
 void XRInputSource::OnSelect() {
+  DVLOG(3) << __func__;
   // If a select was fired but we had not previously started the selection it
   // indicates a sub-frame or instantaneous select event, and we should fire a
   // selectstart prior to the selectend.
@@ -272,6 +295,7 @@
   if (!state_.selection_cancelled && !session_->ended()) {
     if (!frame)
       return;
+    DVLOG(3) << __func__ << ": dispatch select event";
     XRInputSourceEvent* event =
         CreateInputSourceEvent(event_type_names::kSelect);
     session_->DispatchEvent(*event);
@@ -284,15 +308,30 @@
 }
 
 void XRInputSource::UpdateSelectState(
-    const device::mojom::blink::XRInputSourceStatePtr& state) {
-  if (!state)
+    const device::mojom::blink::XRInputSourceStatePtr& new_state) {
+  if (!new_state)
     return;
 
+  if (!state_.is_visible) {
+    DVLOG(3) << __func__ << ": input NOT VISIBLE";
+    return;
+  }
+  if (state_.xr_select_events_suppressed) {
+    if (new_state->primary_input_clicked) {
+      DVLOG(3) << __func__ << ": got click, SUPPRESS end";
+      state_.xr_select_events_suppressed = false;
+    }
+    DVLOG(3) << __func__ << ": overlay input select SUPPRESSED";
+    return;
+  }
+
+  DCHECK(!state_.xr_select_events_suppressed);
+
   // Handle state change of the primary input, which may fire events
-  if (state->primary_input_clicked)
+  if (new_state->primary_input_clicked)
     OnSelect();
 
-  if (state->primary_input_pressed) {
+  if (new_state->primary_input_pressed) {
     OnSelectStart();
   } else if (state_.primary_input_pressed) {
     // May get here if the input source was previously pressed but now isn't,
@@ -304,6 +343,99 @@
   }
 }
 
+void XRInputSource::ProcessOverlayHitTest(
+    Element* overlay_element,
+    const device::mojom::blink::XRInputSourceStatePtr& new_state) {
+  DCHECK(overlay_element);
+  DCHECK(new_state->overlay_pointer_position);
+
+  // Do a hit test at the overlay pointer position to see if the pointer
+  // intersects a cross origin iframe. If yes, set the visibility to false which
+  // causes targetRaySpace and gripSpace to return null poses.
+  FloatPoint point(new_state->overlay_pointer_position->x(),
+                   new_state->overlay_pointer_position->y());
+
+  HitTestRequest::HitTestRequestType hit_type = HitTestRequest::kTouchEvent |
+                                                HitTestRequest::kReadOnly |
+                                                HitTestRequest::kActive;
+
+  HitTestResult result = event_handling_util::HitTestResultInFrame(
+      overlay_element->GetDocument().GetFrame(), HitTestLocation(point),
+      hit_type);
+  DVLOG(3) << __func__ << ": hit test InnerElement=" << result.InnerElement();
+
+  Element* hit_element = result.InnerElement();
+  if (!hit_element) {
+    return;
+  }
+
+  // Check if the hit element is cross-origin content. In addition to an iframe,
+  // this could potentially be an old-style frame in a frameset, so check for
+  // the common base class to cover both. (There's no intention to actively
+  // support framesets for DOM Overlay, but this helps prevent them from
+  // being used as a mechanism for information leaks.)
+  HTMLFrameElementBase* frame = DynamicTo<HTMLFrameElementBase>(hit_element);
+  if (frame) {
+    Document* hit_document = frame->contentDocument();
+    if (hit_document) {
+      Frame* hit_frame = hit_document->GetFrame();
+      DCHECK(hit_frame);
+      if (hit_frame->IsCrossOriginSubframe()) {
+        // Mark the input source as invisible until the primary button is
+        // released.
+        state_.is_visible = false;
+
+        // If this is the first touch, also suppress events, even if it
+        // ends up being released outside the frame later.
+        if (!state_.primary_input_pressed) {
+          state_.xr_select_events_suppressed = true;
+        }
+
+        return;
+      }
+    }
+  }
+
+  // If we get here, the touch didn't hit a cross origin frame. Set the
+  // controller spaces visible.
+  state_.is_visible = true;
+
+  // Now check if this is a new primary button press. If yes, send a
+  // beforexrselect event to give the application an opportunity to cancel the
+  // XR input "select" sequence that would normally be caused by this.
+
+  if (state_.xr_select_events_suppressed) {
+    DVLOG(3) << __func__ << ": using overlay input provider: SUPPRESS ongoing";
+    return;
+  }
+
+  if (state_.primary_input_pressed) {
+    DVLOG(3) << __func__ << ": ongoing press, not checking again";
+    return;
+  }
+
+  bool is_primary_press =
+      new_state->primary_input_pressed || new_state->primary_input_clicked;
+  if (!is_primary_press) {
+    DVLOG(3) << __func__ << ": no button press, ignoring";
+    return;
+  }
+
+  // The event needs to be cancelable (obviously), bubble (so that parent
+  // elements can handle it), and composed (so that it crosses shadow DOM
+  // boundaries, including UA-added shadow DOM).
+  Event* event = MakeGarbageCollected<XRSessionEvent>(
+      event_type_names::kBeforexrselect, session_, Event::Bubbles::kYes,
+      Event::Cancelable::kYes, Event::ComposedMode::kComposed);
+
+  hit_element->DispatchEvent(*event);
+  bool default_prevented = event->defaultPrevented();
+
+  // Keep the input source visible, so it's exposed in the input sources array,
+  // but don't generate XR select events for the current button sequence.
+  state_.xr_select_events_suppressed = default_prevented;
+}
+
 void XRInputSource::OnRemoved() {
   if (state_.primary_input_pressed) {
     state_.primary_input_pressed = false;
diff --git a/third_party/blink/renderer/modules/xr/xr_input_source.h b/third_party/blink/renderer/modules/xr/xr_input_source.h
index c99dca2..d663d771 100644
--- a/third_party/blink/renderer/modules/xr/xr_input_source.h
+++ b/third_party/blink/renderer/modules/xr/xr_input_source.h
@@ -20,6 +20,7 @@
 
 namespace blink {
 
+class Element;
 class XRGripSpace;
 class XRInputSourceEvent;
 class XRSession;
@@ -89,6 +90,15 @@
       const device::mojom::blink::XRInputSourceStatePtr& state);
   void OnRemoved();
 
+  // Check which element within the DOM overlay is hit by the input source's
+  // pointer ray, and update primary input state based on that, including
+  // suppressing event data for cross-origin iframes. For background, see
+  // https://immersive-web.github.io/dom-overlays/#cross-origin-content-events
+  void ProcessOverlayHitTest(
+      Element* overlay_element,
+      const device::mojom::blink::XRInputSourceStatePtr& state);
+  bool IsVisible() const { return state_.is_visible; }
+
   void Trace(blink::Visitor*) override;
 
  private:
@@ -98,6 +108,8 @@
     int16_t active_frame_id = -1;
     bool primary_input_pressed = false;
     bool selection_cancelled = false;
+    bool xr_select_events_suppressed = false;
+    bool is_visible = true;
     const uint32_t source_id;
     device::mojom::XRHandedness handedness = device::mojom::XRHandedness::NONE;
     device::mojom::XRTargetRayMode target_ray_mode;
diff --git a/third_party/blink/renderer/modules/xr/xr_session.cc b/third_party/blink/renderer/modules/xr/xr_session.cc
index 8900815..933fbf1 100644
--- a/third_party/blink/renderer/modules/xr/xr_session.cc
+++ b/third_party/blink/renderer/modules/xr/xr_session.cc
@@ -1428,6 +1428,12 @@
 
     OnInputStateChangeInternal(frame_id, input_states);
 
+    // World understanding includes hit testing for transient input sources, and
+    // these sources may have been hidden when touching DOM Overlay content
+    // that's inside cross-origin iframes. Since hit test subscriptions only
+    // happen for existing input_sources_ entries, these touches will not
+    // generate hit test results. For this to work, this step must happen
+    // after OnInputStateChangeInternal which updated input sources.
     UpdateWorldUnderstandingStateForFrame(timestamp, frame_data);
 
     // If this session uses input eventing, XR select events are handled via
@@ -1435,6 +1441,8 @@
     if (!uses_input_eventing_) {
       ProcessInputSourceEvents(input_states);
     }
+  } else {
+    UpdateWorldUnderstandingStateForFrame(timestamp, frame_data);
   }
 }
 
@@ -1627,23 +1635,45 @@
   HeapVector<Member<XRInputSource>> removed;
   last_frame_id_ = frame_id;
 
+  DVLOG(2) << __func__ << ": frame_id=" << frame_id
+           << " input_states.size()=" << input_states.size();
   // Build up our added array, and update the frame id of any active input
   // sources so we can flag the ones that are no longer active.
   for (const auto& input_state : input_states) {
+    DVLOG(2) << __func__ << ": input_state->primary_input_pressed="
+             << input_state->primary_input_pressed
+             << " clicked=" << input_state->primary_input_clicked;
+
     XRInputSource* stored_input_source =
         input_sources_->GetWithSourceId(input_state->source_id);
+    DVLOG(2) << __func__ << ": stored_input_source=" << stored_input_source;
     XRInputSource* input_source = XRInputSource::CreateOrUpdateFrom(
         stored_input_source, this, input_state);
 
+    bool hide_input_source = false;
+    if (overlay_element_ && input_state->overlay_pointer_position) {
+      input_source->ProcessOverlayHitTest(overlay_element_, input_state);
+      if (!stored_input_source && !input_source->IsVisible()) {
+        DVLOG(2) << __func__ << ": (new) hidden_input_source";
+        hide_input_source = true;
+      }
+    }
+
     // Using pointer equality to determine if the pointer needs to be set.
     if (stored_input_source != input_source) {
-      input_sources_->SetWithSourceId(input_state->source_id, input_source);
-      added.push_back(input_source);
+      DVLOG(2) << __func__ << ": stored_input_source != input_source";
+      if (!hide_input_source) {
+        input_sources_->SetWithSourceId(input_state->source_id, input_source);
+        added.push_back(input_source);
+        DVLOG(2) << __func__ << ": ADDED input_source "
+                 << input_state->source_id;
+      }
 
-      // If we previously had a stored_input_source, disconnect it's gamepad
+      // If we previously had a stored_input_source, disconnect its gamepad
       // and mark that it was removed.
       if (stored_input_source) {
         stored_input_source->SetGamepadConnected(false);
+        DVLOG(2) << __func__ << ": REMOVED stored_input_source";
         removed.push_back(stored_input_source);
       }
     }
@@ -1689,8 +1719,10 @@
 
     XRInputSource* input_source =
         input_sources_->GetWithSourceId(input_state->source_id);
-    DCHECK(input_source);
-    input_source->UpdateSelectState(input_state);
+    // The input source might not be in input_sources_ if it was created hidden.
+    if (input_source) {
+      input_source->UpdateSelectState(input_state);
+    }
   }
 }
 
diff --git a/third_party/blink/renderer/modules/xr/xr_session.h b/third_party/blink/renderer/modules/xr/xr_session.h
index 1f530e1..1e41c56f 100644
--- a/third_party/blink/renderer/modules/xr/xr_session.h
+++ b/third_party/blink/renderer/modules/xr/xr_session.h
@@ -13,6 +13,7 @@
 #include "mojo/public/cpp/bindings/remote.h"
 #include "third_party/blink/renderer/bindings/core/v8/script_promise.h"
 #include "third_party/blink/renderer/core/dom/events/event_target.h"
+#include "third_party/blink/renderer/core/html/html_element.h"
 #include "third_party/blink/renderer/core/typed_arrays/array_buffer_view_helpers.h"
 #include "third_party/blink/renderer/core/typed_arrays/dom_typed_array.h"
 #include "third_party/blink/renderer/modules/xr/xr_frame_request_callback_collection.h"
diff --git a/third_party/blink/renderer/modules/xr/xr_session_event.cc b/third_party/blink/renderer/modules/xr/xr_session_event.cc
index 8a683ff..58a7293 100644
--- a/third_party/blink/renderer/modules/xr/xr_session_event.cc
+++ b/third_party/blink/renderer/modules/xr/xr_session_event.cc
@@ -12,6 +12,13 @@
     : Event(type, Bubbles::kNo, Cancelable::kYes), session_(session) {}
 
 XRSessionEvent::XRSessionEvent(const AtomicString& type,
+                               XRSession* session,
+                               Event::Bubbles bubbles,
+                               Event::Cancelable cancelable,
+                               Event::ComposedMode composed)
+    : Event(type, bubbles, cancelable, composed), session_(session) {}
+
+XRSessionEvent::XRSessionEvent(const AtomicString& type,
                                const XRSessionEventInit* initializer)
     : Event(type, initializer) {
   if (initializer->hasSession())
diff --git a/third_party/blink/renderer/modules/xr/xr_session_event.h b/third_party/blink/renderer/modules/xr/xr_session_event.h
index fba43174..664214b 100644
--- a/third_party/blink/renderer/modules/xr/xr_session_event.h
+++ b/third_party/blink/renderer/modules/xr/xr_session_event.h
@@ -29,6 +29,11 @@
 
   XRSessionEvent();
   XRSessionEvent(const AtomicString& type, XRSession*);
+  XRSessionEvent(const AtomicString& type,
+                 XRSession*,
+                 Event::Bubbles,
+                 Event::Cancelable,
+                 Event::ComposedMode);
   XRSessionEvent(const AtomicString& type, const XRSessionEventInit*);
   ~XRSessionEvent() override;
 
diff --git a/third_party/blink/renderer/platform/bindings/script_promise_properties.h b/third_party/blink/renderer/platform/bindings/script_promise_properties.h
deleted file mode 100644
index e622475..0000000
--- a/third_party/blink/renderer/platform/bindings/script_promise_properties.h
+++ /dev/null
@@ -1,20 +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 THIRD_PARTY_BLINK_RENDERER_PLATFORM_BINDINGS_SCRIPT_PROMISE_PROPERTIES_H_
-#define THIRD_PARTY_BLINK_RENDERER_PLATFORM_BINDINGS_SCRIPT_PROMISE_PROPERTIES_H_
-
-// See ScriptPromiseProperty.h
-#define SCRIPT_PROMISE_PROPERTIES(P, ...)       \
-  P(ScriptPromise, kReady##__VA_ARGS__)         \
-  P(ScriptPromise, kClosed##__VA_ARGS__)        \
-  P(ScriptPromise, kFinished##__VA_ARGS__)      \
-  P(ScriptPromise, kLoaded##__VA_ARGS__)        \
-  P(ScriptPromise, kLost##__VA_ARGS__)          \
-  P(ScriptPromise, kReleased##__VA_ARGS__)      \
-  P(ScriptPromise, kResponseReady##__VA_ARGS__) \
-  P(ScriptPromise, kUserChoice##__VA_ARGS__)    \
-  P(ScriptPromise, kPreloadResponse##__VA_ARGS__)
-
-#endif  // THIRD_PARTY_BLINK_RENDERER_PLATFORM_BINDINGS_SCRIPT_PROMISE_PROPERTIES_H_
diff --git a/third_party/blink/renderer/platform/bindings/v8_private_property.h b/third_party/blink/renderer/platform/bindings/v8_private_property.h
index 864454f1..bf19f47 100644
--- a/third_party/blink/renderer/platform/bindings/v8_private_property.h
+++ b/third_party/blink/renderer/platform/bindings/v8_private_property.h
@@ -8,7 +8,6 @@
 #include <memory>
 
 #include "base/memory/ptr_util.h"
-#include "third_party/blink/renderer/platform/bindings/script_promise_properties.h"
 #include "third_party/blink/renderer/platform/bindings/v8_binding_macros.h"
 #include "third_party/blink/renderer/platform/bindings/v8_per_isolate_data.h"
 #include "third_party/blink/renderer/platform/platform_export.h"
diff --git a/third_party/blink/renderer/platform/graphics/compositing/paint_artifact_compositor_test.cc b/third_party/blink/renderer/platform/graphics/compositing/paint_artifact_compositor_test.cc
index e8d3facd0..c4f2b3cf 100644
--- a/third_party/blink/renderer/platform/graphics/compositing/paint_artifact_compositor_test.cc
+++ b/third_party/blink/renderer/platform/graphics/compositing/paint_artifact_compositor_test.cc
@@ -1672,10 +1672,7 @@
   }
 }
 
-// TODO(crbug.com/696842): The effect refuses to "decomposite" because it's in
-// a deeper transform space than its chunk. We should allow decomposite if
-// the two transform nodes share the same direct compositing ancestor.
-TEST_P(PaintArtifactCompositorTest, DISABLED_EffectPushedUp) {
+TEST_P(PaintArtifactCompositorTest, EffectPushedUp) {
   // Tests merging of an element which has an effect applied to it,
   // but has an ancestor transform of them. This can happen for fixed-
   // or absolute-position elements which escape scroll transforms.
@@ -1717,10 +1714,7 @@
   }
 }
 
-// TODO(crbug.com/696842): The effect refuses to "decomposite" because it's in
-// a deeper transform space than its chunk. We should allow decomposite if
-// the two transform nodes share the same direct compositing ancestor.
-TEST_P(PaintArtifactCompositorTest, DISABLED_EffectAndClipPushedUp) {
+TEST_P(PaintArtifactCompositorTest, EffectAndClipPushedUp) {
   // Tests merging of an element which has an effect applied to it,
   // but has an ancestor transform of them. This can happen for fixed-
   // or absolute-position elements which escape scroll transforms.
diff --git a/third_party/blink/renderer/platform/heap/heap_allocator.h b/third_party/blink/renderer/platform/heap/heap_allocator.h
index c1c3985..5932981 100644
--- a/third_party/blink/renderer/platform/heap/heap_allocator.h
+++ b/third_party/blink/renderer/platform/heap/heap_allocator.h
@@ -136,15 +136,16 @@
     }
   }
 
-  static void BackingWriteBarrier(void* address) {
-    MarkingVisitor::WriteBarrier(address);
+  template <typename T>
+  static void BackingWriteBarrier(T** slot) {
+    MarkingVisitor::WriteBarrier(slot);
   }
 
-  template <typename HashTable>
-  static void BackingWriteBarrierForHashTable(void* address) {
-    if (MarkingVisitor::WriteBarrier(address)) {
+  template <typename HashTable, typename T>
+  static void BackingWriteBarrierForHashTable(T** slot) {
+    if (MarkingVisitor::WriteBarrier(slot)) {
       AddMovingCallback<HashTable>(
-          static_cast<typename HashTable::ValueType*>(address));
+          static_cast<typename HashTable::ValueType*>(*slot));
     }
   }
 
diff --git a/third_party/blink/renderer/platform/heap/incremental_marking_test.cc b/third_party/blink/renderer/platform/heap/incremental_marking_test.cc
index 4dfa4a49..5711a098 100644
--- a/third_party/blink/renderer/platform/heap/incremental_marking_test.cc
+++ b/third_party/blink/renderer/platform/heap/incremental_marking_test.cc
@@ -298,7 +298,7 @@
   {
     ExpectWriteBarrierFires scope(ThreadState::Current(), {object});
     EXPECT_FALSE(object->IsMarked());
-    MarkingVisitor::WriteBarrier(object);
+    MarkingVisitor::WriteBarrier(&object);
     EXPECT_TRUE(object->IsMarked());
   }
 }
@@ -306,7 +306,7 @@
 TEST_F(IncrementalMarkingTest, ManualWriteBarrierBailoutWhenMarkingIsOff) {
   auto* object = MakeGarbageCollected<Object>();
   EXPECT_FALSE(object->IsMarked());
-  MarkingVisitor::WriteBarrier(object);
+  MarkingVisitor::WriteBarrier(&object);
   EXPECT_FALSE(object->IsMarked());
 }
 
diff --git a/third_party/blink/renderer/platform/heap/marking_visitor.h b/third_party/blink/renderer/platform/heap/marking_visitor.h
index da1a408..311e5fa9 100644
--- a/third_party/blink/renderer/platform/heap/marking_visitor.h
+++ b/third_party/blink/renderer/platform/heap/marking_visitor.h
@@ -161,10 +161,11 @@
   // Returns whether an object is in construction.
   static bool IsInConstruction(HeapObjectHeader* header);
 
-  // Write barrier that adds |value| to the set of marked objects. The barrier
-  // bails out if marking is off or the object is not yet marked. Returns true
-  // if the object was marked on this call.
-  static bool WriteBarrier(void* value);
+  // Write barrier that adds a value the |slot| refers to to the set of marked
+  // objects. The barrier bails out if marking is off or the object is not yet
+  // marked. Returns true if the object was marked on this call.
+  template <typename T>
+  static bool WriteBarrier(T** slot);
 
   // Eagerly traces an already marked backing store ensuring that all its
   // children are discovered by the marker. The barrier bails out if marking
@@ -208,13 +209,14 @@
 }
 
 // static
-ALWAYS_INLINE bool MarkingVisitor::WriteBarrier(void* value) {
+template <typename T>
+ALWAYS_INLINE bool MarkingVisitor::WriteBarrier(T** slot) {
   if (!ThreadState::IsAnyIncrementalMarking())
     return false;
 
   // Avoid any further checks and dispatch to a call at this point. Aggressive
   // inlining otherwise pollutes the regular execution paths.
-  return WriteBarrierSlow(value);
+  return WriteBarrierSlow(*slot);
 }
 
 // static
diff --git a/third_party/blink/renderer/platform/heap/member.h b/third_party/blink/renderer/platform/heap/member.h
index 7d30e18..aae1dc7 100644
--- a/third_party/blink/renderer/platform/heap/member.h
+++ b/third_party/blink/renderer/platform/heap/member.h
@@ -203,8 +203,7 @@
   static constexpr intptr_t kHashTableDeletedRawValue = -1;
 
   void WriteBarrier() const {
-    MarkingVisitor::WriteBarrier(
-        const_cast<typename std::remove_const<T>::type*>(GetRaw()));
+    MarkingVisitor::WriteBarrier(const_cast<std::remove_const_t<T>**>(&raw_));
   }
 
   void CheckPointer() {
@@ -399,6 +398,12 @@
 
   UntracedMember(WTF::HashTableDeletedValueType x) : Parent(x) {}
 
+  UntracedMember& operator=(const UntracedMember& other) {
+    this->SetRaw(other);
+    this->CheckPointer();
+    return *this;
+  }
+
   template <typename U>
   UntracedMember& operator=(const Persistent<U>& other) {
     this->SetRaw(other);
diff --git a/third_party/blink/renderer/platform/runtime_enabled_features.json5 b/third_party/blink/renderer/platform/runtime_enabled_features.json5
index 2828d0a..2cf92136 100644
--- a/third_party/blink/renderer/platform/runtime_enabled_features.json5
+++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5
@@ -623,7 +623,7 @@
     },
     {
       name: "EncryptedMediaEncryptionSchemeQuery",
-      status: "test",
+      status: "stable",
     },
     {
       name: "EncryptedMediaHdcpPolicyCheck",
diff --git a/third_party/blink/renderer/platform/wtf/allocator/partition_allocator.h b/third_party/blink/renderer/platform/wtf/allocator/partition_allocator.h
index 4e9bd56..6ff7161 100644
--- a/third_party/blink/renderer/platform/wtf/allocator/partition_allocator.h
+++ b/third_party/blink/renderer/platform/wtf/allocator/partition_allocator.h
@@ -77,9 +77,10 @@
   }
 
   static void TraceBackingStoreIfMarked(void*) {}
-  static void BackingWriteBarrier(void*) {}
-  template <typename>
-  static void BackingWriteBarrierForHashTable(void*) {}
+  template <typename T>
+  static void BackingWriteBarrier(T**) {}
+  template <typename, typename T>
+  static void BackingWriteBarrierForHashTable(T**) {}
 
   static bool IsAllocationAllowed() { return true; }
   static bool IsObjectResurrectionForbidden() { return false; }
diff --git a/third_party/blink/renderer/platform/wtf/hash_table.h b/third_party/blink/renderer/platform/wtf/hash_table.h
index 541cbd6..8ada5a8 100644
--- a/third_party/blink/renderer/platform/wtf/hash_table.h
+++ b/third_party/blink/renderer/platform/wtf/hash_table.h
@@ -1759,7 +1759,7 @@
     }
   }
   table_ = temporary_table;
-  Allocator::template BackingWriteBarrierForHashTable<HashTable>(table_);
+  Allocator::template BackingWriteBarrierForHashTable<HashTable>(&table_);
 
   if (Traits::kEmptyValueIsZero) {
     memset(original_table, 0, new_table_size * sizeof(ValueType));
@@ -1817,7 +1817,7 @@
   // This swaps the newly allocated buffer with the current one. The store to
   // the current table has to be atomic to prevent races with concurrent marker.
   AsAtomicPtr(&table_)->store(new_hash_table.table_, std::memory_order_relaxed);
-  Allocator::template BackingWriteBarrierForHashTable<HashTable>(table_);
+  Allocator::template BackingWriteBarrierForHashTable<HashTable>(&table_);
   table_size_ = new_table_size;
 
   new_hash_table.table_ = old_table;
@@ -1987,8 +1987,8 @@
   Value* tmp_table = other.table_;
   AsAtomicPtr(&other.table_)->store(table_, std::memory_order_relaxed);
   AsAtomicPtr(&table_)->store(tmp_table, std::memory_order_relaxed);
-  Allocator::template BackingWriteBarrierForHashTable<HashTable>(table_);
-  Allocator::template BackingWriteBarrierForHashTable<HashTable>(other.table_);
+  Allocator::template BackingWriteBarrierForHashTable<HashTable>(&table_);
+  Allocator::template BackingWriteBarrierForHashTable<HashTable>(&other.table_);
   if (IsWeak<ValueType>::value) {
     // Weak processing is omitted when no backing store is present. In case such
     // an empty table is later on used it needs to be strongified.
diff --git a/third_party/blink/renderer/platform/wtf/vector.h b/third_party/blink/renderer/platform/wtf/vector.h
index 1b321ec..5ba2d7f 100644
--- a/third_party/blink/renderer/platform/wtf/vector.h
+++ b/third_party/blink/renderer/platform/wtf/vector.h
@@ -413,7 +413,7 @@
 
   void AllocateBuffer(wtf_size_t new_capacity) {
     AllocateBufferNoBarrier(new_capacity);
-    Allocator::BackingWriteBarrier(buffer_);
+    Allocator::BackingWriteBarrier(&buffer_);
   }
 
   size_t AllocationSize(size_t capacity) const {
@@ -554,8 +554,8 @@
     std::swap(buffer_, other.buffer_);
     std::swap(capacity_, other.capacity_);
     std::swap(size_, other.size_);
-    Allocator::BackingWriteBarrier(buffer_);
-    Allocator::BackingWriteBarrier(other.buffer_);
+    Allocator::BackingWriteBarrier(&buffer_);
+    Allocator::BackingWriteBarrier(&other.buffer_);
   }
 
   using Base::AllocateBuffer;
@@ -694,8 +694,8 @@
       std::swap(buffer_, other.buffer_);
       std::swap(capacity_, other.capacity_);
       std::swap(size_, other.size_);
-      Allocator::BackingWriteBarrier(buffer_);
-      Allocator::BackingWriteBarrier(other.buffer_);
+      Allocator::BackingWriteBarrier(&buffer_);
+      Allocator::BackingWriteBarrier(&other.buffer_);
       return;
     }
 
@@ -756,7 +756,7 @@
       other.buffer_ = other.InlineBuffer();
       std::swap(size_, other.size_);
       ANNOTATE_NEW_BUFFER(other.buffer_, inlineCapacity, other.size_);
-      Allocator::BackingWriteBarrier(buffer_);
+      Allocator::BackingWriteBarrier(&buffer_);
     } else if (!this_source_begin &&
                other_source_begin) {  // Their buffer is inline, ours is not.
       DCHECK_NE(Buffer(), InlineBuffer());
@@ -766,7 +766,7 @@
       buffer_ = InlineBuffer();
       std::swap(size_, other.size_);
       ANNOTATE_NEW_BUFFER(buffer_, inlineCapacity, size_);
-      Allocator::BackingWriteBarrier(other.buffer_);
+      Allocator::BackingWriteBarrier(&other.buffer_);
     } else {  // Both buffers are inline.
       DCHECK(this_source_begin);
       DCHECK(other_source_begin);
@@ -2035,7 +2035,7 @@
   ANNOTATE_DELETE_BUFFER(begin(), capacity(), size_);
   Base::DeallocateBuffer(begin());
   buffer.MoveBufferInto(*this);
-  Allocator::BackingWriteBarrier(begin());
+  Allocator::BackingWriteBarrier(Base::BufferSlot());
 }
 
 }  // namespace WTF
diff --git a/third_party/blink/web_tests/TestExpectations b/third_party/blink/web_tests/TestExpectations
index 5c974689..93b7bf61 100644
--- a/third_party/blink/web_tests/TestExpectations
+++ b/third_party/blink/web_tests/TestExpectations
@@ -1333,7 +1333,6 @@
 crbug.com/845235 virtual/layout_ng_flex_box/external/wpt/css/css-flexbox/hittest-overlapping-margin.html [ Failure ]
 crbug.com/845235 virtual/layout_ng_flex_box/external/wpt/css/css-flexbox/hittest-overlapping-order.html [ Failure ]
 crbug.com/845235 virtual/layout_ng_flex_box/external/wpt/css/css-flexbox/quirks-auto-block-size-with-percentage-item.html [ Pass Failure ]
-crbug.com/845235 virtual/layout_ng_flex_box/external/wpt/css/css-flexbox/table-as-item-auto-min-width.html [ Failure ]
 crbug.com/845235 virtual/layout_ng_flex_box/external/wpt/css/vendor-imports/mozilla/mozilla-central-reftests/flexbox/flexbox-intrinsic-ratio-003.html [ Failure ]
 crbug.com/845235 virtual/layout_ng_flex_box/external/wpt/css/vendor-imports/mozilla/mozilla-central-reftests/flexbox/flexbox-intrinsic-ratio-004.html [ Failure ]
 crbug.com/845235 virtual/layout_ng_flex_box/external/wpt/css/vendor-imports/mozilla/mozilla-central-reftests/flexbox/flexbox-intrinsic-ratio-004v.html [ Failure ]
@@ -1421,6 +1420,8 @@
 crbug.com/1003506 virtual/layout_ng_flex_box/external/wpt/css/css-flexbox/percentage-heights-007.html [ Failure ]
 crbug.com/1025630 [ Mac ] virtual/layout_ng_flex_box/external/wpt/css/css-flexbox/select-element-zero-height-001.html [ Failure ]
 crbug.com/1025630 [ Mac ] virtual/layout_ng_flex_box/external/wpt/css/css-flexbox/select-element-zero-height-002.html [ Failure ]
+crbug.com/782948 virtual/layout_ng_flex_box/external/wpt/css/css-flexbox/table-as-item-fixed-min-width.html  [ Failure ]
+crbug.com/782948 virtual/layout_ng_flex_box/external/wpt/css/css-flexbox/table-as-item-wide-content.html  [ Failure ]
 
 # Fieldset in NG
 #
@@ -2010,6 +2011,9 @@
 
 crbug.com/731731 inspector-protocol/layers/paint-profiler-load-empty.js [ Failure Pass ]
 
+# Script let/const redeclaration errors
+crbug.com/1042162 inspector-protocol/console/console-let-const-with-api.js [ Pass Failure ]
+
 # Will be re-enabled and rebaselined once we remove the '--enable-file-cookies' flag.
 crbug.com/470482 fast/cookies/local-file-can-set-cookies.html [ Skip ]
 
@@ -2396,6 +2400,9 @@
 crbug.com/336604 external/wpt/css/css-flexbox/flexbox_visibility-collapse-line-wrapping.html [ Failure ]
 crbug.com/336604 external/wpt/css/css-flexbox/flexbox_visibility-collapse.html [ Failure ]
 
+crbug.com/782948 external/wpt/css/css-flexbox/table-as-item-fixed-min-width.html [ Failure ]
+crbug.com/782948 external/wpt/css/css-flexbox/table-as-item-wide-content.html  [ Failure ]
+
 # Requires support for hit-testing based on flex order.
 crbug.com/844505 external/wpt/css/css-flexbox/hittest-overlapping-order.html [ Failure ]
 
@@ -2832,6 +2839,21 @@
 crbug.com/1035708 external/wpt/css/css-pseudo/spelling-error-001.html [ Failure ]
 crbug.com/1035708 external/wpt/css/css-pseudo/grammar-error-001.html [ Failure ]
 
+# motion-1 issues
+crbug.com/638055 external/wpt/css/motion/offset-anchor-transform-box-fill-box-003.html [ Failure ]
+crbug.com/641245 external/wpt/css/motion/offset-path-ray-002.html [ Failure ]
+crbug.com/641245 external/wpt/css/motion/offset-path-ray-003.html [ Failure ]
+crbug.com/641245 external/wpt/css/motion/offset-path-ray-004.html [ Failure ]
+crbug.com/641245 external/wpt/css/motion/offset-path-ray-005.html [ Failure ]
+crbug.com/641245 external/wpt/css/motion/offset-path-ray-006.html [ Failure ]
+crbug.com/641245 external/wpt/css/motion/offset-path-ray-007.html [ Failure ]
+crbug.com/641245 external/wpt/css/motion/offset-path-ray-009.html [ Failure ]
+crbug.com/641245 external/wpt/css/motion/offset-path-ray-contain-001.html [ Failure ]
+crbug.com/641245 external/wpt/css/motion/offset-path-ray-contain-002.html [ Failure ]
+crbug.com/641245 external/wpt/css/motion/offset-path-ray-contain-003.html [ Failure ]
+crbug.com/641245 external/wpt/css/motion/offset-path-ray-contain-004.html [ Failure ]
+crbug.com/641245 external/wpt/css/motion/offset-path-ray-contain-005.html [ Failure ]
+
 # ====== New tests from wpt-importer added here ======
 crbug.com/626703 [ Win7 ] external/wpt/pointerevents/pointerevent_touch-action-inherit_child-auto-child-none_touch.html [ Timeout ]
 crbug.com/626703 [ Win7 ] external/wpt/content-security-policy/object-src/object-src-no-url-allowed.html [ Timeout ]
@@ -2881,9 +2903,6 @@
 crbug.com/626703 [ Win ] external/wpt/service-workers/service-worker/ready.https.window.html [ Timeout ]
 crbug.com/626703 [ Win7 ] external/wpt/pointerevents/pointerevent_touch-action-pan-x-css_touch.html [ Timeout ]
 crbug.com/1040874 [ Mac ] external/wpt/pointerevents/pointerevent_pointercapture_in_frame.html [ Pass Failure ]
-crbug.com/626703 [ Linux ] external/wpt/css/motion/offset-anchor-transform-box-fill-box-003.html [ Failure ]
-crbug.com/626703 [ Mac ] external/wpt/css/motion/offset-anchor-transform-box-fill-box-003.html [ Failure ]
-crbug.com/626703 [ Win ] external/wpt/css/motion/offset-anchor-transform-box-fill-box-003.html [ Failure ]
 crbug.com/626703 [ Linux ] external/wpt/offscreen-canvas/text/2d.text.measure.width.empty.worker.html [ Timeout ]
 crbug.com/626703 [ Mac ] external/wpt/offscreen-canvas/text/2d.text.measure.width.empty.worker.html [ Timeout ]
 crbug.com/626703 [ Win ] external/wpt/offscreen-canvas/text/2d.text.measure.width.empty.worker.html [ Timeout ]
@@ -2975,42 +2994,6 @@
 crbug.com/626703 [ Mac10.11 ] external/wpt/shape-detection/idlharness.https.any.sharedworker.html [ Failure Timeout ]
 crbug.com/626703 [ Win7 ] external/wpt/pointerevents/pointerevent_touch-action-pan-y-css_touch.html [ Timeout ]
 crbug.com/626703 [ Win10 ] external/wpt/payment-request/payment-request-hasenrolledinstrument-method.tentative.https.html [ Failure Timeout ]
-crbug.com/626703 [ Linux ] external/wpt/css/motion/offset-path-ray-contain-003.html [ Failure ]
-crbug.com/626703 [ Mac ] external/wpt/css/motion/offset-path-ray-contain-003.html [ Failure ]
-crbug.com/626703 [ Win ] external/wpt/css/motion/offset-path-ray-contain-003.html [ Failure ]
-crbug.com/626703 [ Linux ] external/wpt/css/motion/offset-path-ray-005.html [ Failure ]
-crbug.com/626703 [ Mac ] external/wpt/css/motion/offset-path-ray-005.html [ Failure ]
-crbug.com/626703 [ Win ] external/wpt/css/motion/offset-path-ray-005.html [ Failure ]
-crbug.com/626703 [ Linux ] external/wpt/css/motion/offset-path-ray-contain-001.html [ Failure ]
-crbug.com/626703 [ Mac ] external/wpt/css/motion/offset-path-ray-contain-001.html [ Failure ]
-crbug.com/626703 [ Win ] external/wpt/css/motion/offset-path-ray-contain-001.html [ Failure ]
-crbug.com/626703 [ Linux ] external/wpt/css/motion/offset-path-ray-004.html [ Failure ]
-crbug.com/626703 [ Mac ] external/wpt/css/motion/offset-path-ray-004.html [ Failure ]
-crbug.com/626703 [ Win ] external/wpt/css/motion/offset-path-ray-004.html [ Failure ]
-crbug.com/626703 [ Linux ] external/wpt/css/motion/offset-path-ray-contain-004.html [ Failure ]
-crbug.com/626703 [ Mac ] external/wpt/css/motion/offset-path-ray-contain-004.html [ Failure ]
-crbug.com/626703 [ Win ] external/wpt/css/motion/offset-path-ray-contain-004.html [ Failure ]
-crbug.com/626703 [ Linux ] external/wpt/css/motion/offset-path-ray-003.html [ Failure ]
-crbug.com/626703 [ Mac ] external/wpt/css/motion/offset-path-ray-003.html [ Failure ]
-crbug.com/626703 [ Win ] external/wpt/css/motion/offset-path-ray-003.html [ Failure ]
-crbug.com/626703 [ Linux ] external/wpt/css/motion/offset-path-ray-006.html [ Failure ]
-crbug.com/626703 [ Mac ] external/wpt/css/motion/offset-path-ray-006.html [ Failure ]
-crbug.com/626703 [ Win ] external/wpt/css/motion/offset-path-ray-006.html [ Failure ]
-crbug.com/626703 [ Linux ] external/wpt/css/motion/offset-path-ray-007.html [ Failure ]
-crbug.com/626703 [ Mac ] external/wpt/css/motion/offset-path-ray-007.html [ Failure ]
-crbug.com/626703 [ Win ] external/wpt/css/motion/offset-path-ray-007.html [ Failure ]
-crbug.com/626703 [ Linux ] external/wpt/css/motion/offset-path-ray-002.html [ Failure ]
-crbug.com/626703 [ Mac ] external/wpt/css/motion/offset-path-ray-002.html [ Failure ]
-crbug.com/626703 [ Win ] external/wpt/css/motion/offset-path-ray-002.html [ Failure ]
-crbug.com/626703 [ Linux ] external/wpt/css/motion/offset-path-ray-contain-002.html [ Failure ]
-crbug.com/626703 [ Mac ] external/wpt/css/motion/offset-path-ray-contain-002.html [ Failure ]
-crbug.com/626703 [ Win ] external/wpt/css/motion/offset-path-ray-contain-002.html [ Failure ]
-crbug.com/626703 [ Linux ] external/wpt/css/motion/offset-path-ray-009.html [ Failure ]
-crbug.com/626703 [ Mac ] external/wpt/css/motion/offset-path-ray-009.html [ Failure ]
-crbug.com/626703 [ Win ] external/wpt/css/motion/offset-path-ray-009.html [ Failure ]
-crbug.com/626703 [ Linux ] external/wpt/css/motion/offset-path-ray-contain-005.html [ Failure ]
-crbug.com/626703 [ Mac ] external/wpt/css/motion/offset-path-ray-contain-005.html [ Failure ]
-crbug.com/626703 [ Win ] external/wpt/css/motion/offset-path-ray-contain-005.html [ Failure ]
 crbug.com/626703 [ Mac10.10 ] virtual/omt-worker-fetch/external/wpt/resource-timing/resource_timing_buffer_full_eventually.html [ Timeout Pass Failure ]
 crbug.com/626703 [ Retina ] virtual/omt-worker-fetch/external/wpt/resource-timing/resource_timing_buffer_full_eventually.html [ Timeout Pass Failure ]
 crbug.com/626703 [ Win10 ] virtual/cascade/external/wpt/css/css-paint-api/color-custom-property-animation.https.html [ Failure ]
@@ -6277,6 +6260,7 @@
 crbug.com/1034374 virtual/threaded/http/tests/devtools/tracing/timeline-worker-events.js [ Pass Failure ]
 crbug.com/1034513 [ Win7 ] virtual/stable/fast/dom/Window/window-resize-contents.html [ Pass Failure ]
 crbug.com/1026712 [ Mac ] fast/forms/time-multiple-fields/time-multiple-fields-stepup-stepdown-from-renderer-hour.html [ Pass Timeout ]
+crbug.com/1026712 [ Mac ] virtual/form-controls-refresh-disabled/fast/forms/time-multiple-fields/time-multiple-fields-stepup-stepdown-from-renderer-hour.html [ Pass Timeout ]
 
 # The Wasm code cache requires disabling the baseline compiler, so only the
 # virtual test should be run.
@@ -6417,6 +6401,9 @@
 # Temporarily disabled to land Animations accessibility changes in DevTools
 crbug.com/963183 http/tests/devtools/animation/animation-timeline.js [ Pass Failure ]
 
+# Popup and no-opener may crash WPTs: crrev.com/c/1984306
+crbug.com/1040059 external/wpt/html/cross-origin-opener-policy/iframe-popup-same-origin.https.html [ Pass Crash Timeout ]
+
 # Broken in https://chromium-review.googlesource.com/c/chromium/src/+/1636716
 crbug.com/963183 http/tests/devtools/sources/debugger-breakpoints/disable-breakpoints.js [ Pass Failure ]
 
diff --git a/third_party/blink/web_tests/WPTOverrideExpectations b/third_party/blink/web_tests/WPTOverrideExpectations
index 85f79c1..46943d5 100644
--- a/third_party/blink/web_tests/WPTOverrideExpectations
+++ b/third_party/blink/web_tests/WPTOverrideExpectations
@@ -511,7 +511,7 @@
 external/wpt/web-animations/interfaces/KeyframeEffect/style-change-events.html [ Failure ]
 external/wpt/web-locks/clientids.tentative.https.html [ Failure ]
 external/wpt/web-locks/query-ordering.tentative.https.html [ Pass Failure ]
-external/wpt/web-nfc/NDEFWriter_push.https.html [ Failure Timeout ]
+external/wpt/web-nfc/NDEFWriter_write.https.html [ Failure Timeout ]
 external/wpt/webaudio/the-audio-api/the-audioworklet-interface/audioworkletnode-output-channel-count.https.html [ Pass Failure ]
 external/wpt/webauthn/createcredential-extensions.https.html [ Timeout ]
 external/wpt/webauthn/createcredential-timeout.https.html [ Failure ]
diff --git a/third_party/blink/web_tests/external/WPT_BASE_MANIFEST_7.json b/third_party/blink/web_tests/external/WPT_BASE_MANIFEST_7.json
index 48f6a80..944075b 100644
--- a/third_party/blink/web_tests/external/WPT_BASE_MANIFEST_7.json
+++ b/third_party/blink/web_tests/external/WPT_BASE_MANIFEST_7.json
@@ -29613,6 +29613,18 @@
      {}
     ]
    ],
+   "css/CSS2/text/bidi-span-003.html": [
+    [
+     "css/CSS2/text/bidi-span-003.html",
+     [
+      [
+       "/css/CSS2/text/bidi-span-003-ref.html",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
    "css/CSS2/text/letter-spacing-004.xht": [
     [
      "css/CSS2/text/letter-spacing-004.xht",
@@ -47913,6 +47925,18 @@
      {}
     ]
    ],
+   "css/css-flexbox/table-as-item-fixed-min-width.html": [
+    [
+     "css/css-flexbox/table-as-item-fixed-min-width.html",
+     [
+      [
+       "/css/reference/ref-filled-green-100px-square.xht",
+       "=="
+      ]
+     ],
+     {}
+    ]
+   ],
    "css/css-flexbox/table-as-item-narrow-content.html": [
     [
      "css/css-flexbox/table-as-item-narrow-content.html",
@@ -47930,7 +47954,7 @@
      "css/css-flexbox/table-as-item-wide-content.html",
      [
       [
-       "/css/reference/ref-filled-green-100px-square-only.html",
+       "/css/reference/ref-filled-green-100px-square.xht",
        "=="
       ]
      ],
@@ -129516,10 +129540,37 @@
    "client-hints/accept-ch-feature-policy-navigation.https.html.headers": [
     []
    ],
-   "client-hints/accept-ch-lifetime.tentative.https-expected.txt": [
+   "client-hints/accept-ch-no-feature-policy-navigation.https.html.headers": [
     []
    ],
-   "client-hints/accept-ch-no-feature-policy-navigation.https.html.headers": [
+   "client-hints/accept-ch-stickiness/resources/accept-ch-test.js": [
+    []
+   ],
+   "client-hints/accept-ch-stickiness/resources/accept-ch.html": [
+    []
+   ],
+   "client-hints/accept-ch-stickiness/resources/accept-ch.html.headers": [
+    []
+   ],
+   "client-hints/accept-ch-stickiness/resources/clear-site-data.html": [
+    []
+   ],
+   "client-hints/accept-ch-stickiness/resources/clear-site-data.html.headers": [
+    []
+   ],
+   "client-hints/accept-ch-stickiness/resources/do-not-expect-client-hints-headers.html": [
+    []
+   ],
+   "client-hints/accept-ch-stickiness/resources/echo-client-hints-received.py": [
+    []
+   ],
+   "client-hints/accept-ch-stickiness/resources/expect-client-hints-headers.html": [
+    []
+   ],
+   "client-hints/accept-ch-stickiness/resources/http-equiv-accept-ch.html": [
+    []
+   ],
+   "client-hints/accept-ch-stickiness/resources/http-equiv-accept-ch.html.headers": [
     []
    ],
    "client-hints/accept_ch.http.html.headers": [
@@ -129543,30 +129594,12 @@
    "client-hints/echo_ua_client_hints_received.py": [
     []
    ],
-   "client-hints/resources/accept-ch-lifetime-test.js": [
-    []
-   ],
    "client-hints/resources/accept_ch.html": [
     []
    ],
    "client-hints/resources/accept_ch.html.headers": [
     []
    ],
-   "client-hints/resources/accept_ch_lifetime.html": [
-    []
-   ],
-   "client-hints/resources/accept_ch_lifetime.html.headers": [
-    []
-   ],
-   "client-hints/resources/clear-site-data.html": [
-    []
-   ],
-   "client-hints/resources/clear-site-data.html.headers": [
-    []
-   ],
-   "client-hints/resources/do_not_expect_client_hints_headers.html": [
-    []
-   ],
    "client-hints/resources/expect-client-hints-headers-iframe.py": [
     []
    ],
@@ -129576,12 +129609,6 @@
    "client-hints/resources/feature-policy-navigation.js": [
     []
    ],
-   "client-hints/resources/http_equiv_accept_ch_lifetime.html": [
-    []
-   ],
-   "client-hints/resources/http_equiv_accept_ch_lifetime.html.headers": [
-    []
-   ],
    "client-hints/resources/iframe-accept-ch-lifetime.html": [
     []
    ],
@@ -129591,9 +129618,6 @@
    "client-hints/resources/sec-ch-ua.py": [
     []
    ],
-   "client-hints/resources/square.png": [
-    []
-   ],
    "client-hints/resources/stale-echo-client-hints.py": [
     []
    ],
@@ -132228,6 +132252,9 @@
    "cors/basic-expected.txt": [
     []
    ],
+   "cors/preflight-cache-expected.txt": [
+    []
+   ],
    "cors/resources/.gitignore": [
     []
    ],
@@ -134760,6 +134787,9 @@
    "css/CSS2/text/bidi-span-002-ref.html": [
     []
    ],
+   "css/CSS2/text/bidi-span-003-ref.html": [
+    []
+   ],
    "css/CSS2/text/letter-spacing-004-ref.xht": [
     []
    ],
@@ -143151,15 +143181,6 @@
    "css/css-grid/abspos/support/positioned-grid-descendants.js": [
     []
    ],
-   "css/css-grid/alignment/grid-align-content-distribution-expected.txt": [
-    []
-   ],
-   "css/css-grid/alignment/grid-align-content-distribution-vertical-lr-expected.txt": [
-    []
-   ],
-   "css/css-grid/alignment/grid-align-content-distribution-vertical-rl-expected.txt": [
-    []
-   ],
    "css/css-grid/alignment/grid-self-alignment-baseline-with-grid-001-ref.html": [
     []
    ],
@@ -170271,18 +170292,15 @@
    "mixed-content/generic/sanity-checker.js": [
     []
    ],
+   "mixed-content/generic/spec_json.js": [
+    []
+   ],
    "mixed-content/generic/test-case.sub.js": [
     []
    ],
-   "mixed-content/generic/tools/generate.py": [
-    []
-   ],
    "mixed-content/spec.src.json": [
     []
    ],
-   "mixed-content/spec_json.js": [
-    []
-   ],
    "mst-content-hint/META.yml": [
     []
    ],
@@ -173448,18 +173466,15 @@
    "referrer-policy/generic/sanity-checker.js": [
     []
    ],
+   "referrer-policy/generic/spec_json.js": [
+    []
+   ],
    "referrer-policy/generic/test-case.sub.js": [
     []
    ],
-   "referrer-policy/generic/tools/generate.py": [
-    []
-   ],
    "referrer-policy/spec.src.json": [
     []
    ],
-   "referrer-policy/spec_json.js": [
-    []
-   ],
    "remote-playback/META.yml": [
     []
    ],
@@ -181653,10 +181668,10 @@
    "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": [
+   "upgrade-insecure-requests/generic/spec_json.js": [
     []
    ],
-   "upgrade-insecure-requests/generic/tools/generate.py": [
+   "upgrade-insecure-requests/generic/test-case.sub.js": [
     []
    ],
    "upgrade-insecure-requests/link-upgrade/basic-link-no-upgrade.sub.html": [
@@ -181722,9 +181737,6 @@
    "upgrade-insecure-requests/spec.src.json": [
     []
    ],
-   "upgrade-insecure-requests/spec_json.js": [
-    []
-   ],
    "upgrade-insecure-requests/support/redirect-cors.py": [
     []
    ],
@@ -204981,20 +204993,122 @@
      {}
     ]
    ],
-   "client-hints/accept-ch-lifetime.tentative.https.html": [
+   "client-hints/accept-ch-no-feature-policy-navigation.https.html": [
     [
-     "client-hints/accept-ch-lifetime.tentative.https.html",
+     "client-hints/accept-ch-no-feature-policy-navigation.https.html",
+     {}
+    ]
+   ],
+   "client-hints/accept-ch-stickiness/cross-origin-iframe-not-setting-other-origins.https.html": [
+    [
+     "client-hints/accept-ch-stickiness/cross-origin-iframe-not-setting-other-origins.https.html",
      {
       "timeout": "long"
      }
     ]
    ],
-   "client-hints/accept-ch-no-feature-policy-navigation.https.html": [
+   "client-hints/accept-ch-stickiness/cross-origin-iframe-not-setting-own-origin.https.html": [
     [
-     "client-hints/accept-ch-no-feature-policy-navigation.https.html",
+     "client-hints/accept-ch-stickiness/cross-origin-iframe-not-setting-own-origin.https.html",
+     {
+      "timeout": "long"
+     }
+    ]
+   ],
+   "client-hints/accept-ch-stickiness/cross-origin-navigation.https.html": [
+    [
+     "client-hints/accept-ch-stickiness/cross-origin-navigation.https.html",
+     {
+      "timeout": "long"
+     }
+    ]
+   ],
+   "client-hints/accept-ch-stickiness/cross-origin-subresource.https.html": [
+    [
+     "client-hints/accept-ch-stickiness/cross-origin-subresource.https.html",
+     {
+      "timeout": "long"
+     }
+    ]
+   ],
+   "client-hints/accept-ch-stickiness/http-equiv-cross-origin-iframe-not-setting-other-origins.https.html": [
+    [
+     "client-hints/accept-ch-stickiness/http-equiv-cross-origin-iframe-not-setting-other-origins.https.html",
+     {
+      "timeout": "long"
+     }
+    ]
+   ],
+   "client-hints/accept-ch-stickiness/http-equiv-cross-origin-iframe-not-setting-own-origin.https.html": [
+    [
+     "client-hints/accept-ch-stickiness/http-equiv-cross-origin-iframe-not-setting-own-origin.https.html",
+     {
+      "timeout": "long"
+     }
+    ]
+   ],
+   "client-hints/accept-ch-stickiness/http-equiv-cross-origin-navigation.https.html": [
+    [
+     "client-hints/accept-ch-stickiness/http-equiv-cross-origin-navigation.https.html",
+     {
+      "timeout": "long"
+     }
+    ]
+   ],
+   "client-hints/accept-ch-stickiness/http-equiv-cross-origin-subresource.https.html": [
+    [
+     "client-hints/accept-ch-stickiness/http-equiv-cross-origin-subresource.https.html",
+     {
+      "timeout": "long"
+     }
+    ]
+   ],
+   "client-hints/accept-ch-stickiness/http-equiv-same-origin-iframe.https.html": [
+    [
+     "client-hints/accept-ch-stickiness/http-equiv-same-origin-iframe.https.html",
      {}
     ]
    ],
+   "client-hints/accept-ch-stickiness/http-equiv-same-origin-navigation.https.html": [
+    [
+     "client-hints/accept-ch-stickiness/http-equiv-same-origin-navigation.https.html",
+     {
+      "timeout": "long"
+     }
+    ]
+   ],
+   "client-hints/accept-ch-stickiness/http-equiv-same-origin-subresource.https.html": [
+    [
+     "client-hints/accept-ch-stickiness/http-equiv-same-origin-subresource.https.html",
+     {
+      "timeout": "long"
+     }
+    ]
+   ],
+   "client-hints/accept-ch-stickiness/same-origin-iframe.https.html": [
+    [
+     "client-hints/accept-ch-stickiness/same-origin-iframe.https.html",
+     {
+      "timeout": "long"
+     }
+    ]
+   ],
+   "client-hints/accept-ch-stickiness/same-origin-navigation.https.html": [
+    [
+     "client-hints/accept-ch-stickiness/same-origin-navigation.https.html",
+     {
+      "timeout": "long"
+     }
+    ]
+   ],
+   "client-hints/accept-ch-stickiness/same-origin-subresource.https.html": [
+    [
+     "client-hints/accept-ch-stickiness/same-origin-subresource.https.html",
+     {
+      "timeout": "long"
+     }
+    ]
+   ],
    "client-hints/accept_ch.http.html": [
     [
      "client-hints/accept_ch.http.html",
@@ -250079,6 +250193,12 @@
      {}
     ]
    ],
+   "html/browsers/history/the-location-interface/location_reload_javascript_url.html": [
+    [
+     "html/browsers/history/the-location-interface/location_reload_javascript_url.html",
+     {}
+    ]
+   ],
    "html/browsers/history/the-location-interface/location_replace.html": [
     [
      "html/browsers/history/the-location-interface/location_replace.html",
@@ -327876,6 +327996,24 @@
      }
     ]
    ],
+   "webxr/ar-module/xrDevice_isSessionSupported_immersive-ar.https.html": [
+    [
+     "webxr/ar-module/xrDevice_isSessionSupported_immersive-ar.https.html",
+     {}
+    ]
+   ],
+   "webxr/ar-module/xrDevice_requestSession_immersive-ar.https.html": [
+    [
+     "webxr/ar-module/xrDevice_requestSession_immersive-ar.https.html",
+     {}
+    ]
+   ],
+   "webxr/ar-module/xrSession_environmentBlendMode.https.html": [
+    [
+     "webxr/ar-module/xrSession_environmentBlendMode.https.html",
+     {}
+    ]
+   ],
    "webxr/events_input_source_recreation.https.html": [
     [
      "webxr/events_input_source_recreation.https.html",
@@ -347640,7 +347778,7 @@
    "testharness"
   ],
   "WebIDL/ecmascript-binding/put-forwards.html": [
-   "b004bd008d8ce679009e7ed339775fc253fdd6fa",
+   "d7cc389b1c88ec6f8c166115dbf45b4bc58b540b",
    "testharness"
   ],
   "WebIDL/ecmascript-binding/sequence-conversion-expected.txt": [
@@ -349463,14 +349601,6 @@
    "f9595a794d9c93dca09f371f5797399a9204ed53",
    "support"
   ],
-  "client-hints/accept-ch-lifetime.tentative.https-expected.txt": [
-   "82dd11219ee834333b642eb1b283088a90c60052",
-   "support"
-  ],
-  "client-hints/accept-ch-lifetime.tentative.https.html": [
-   "f0b03ba0a8c311642af793a341653995fb73cbd9",
-   "testharness"
-  ],
   "client-hints/accept-ch-no-feature-policy-navigation.https.html": [
    "5fb6c22f50873ce597e6d5ed04c1ebeef64a17c1",
    "testharness"
@@ -349479,6 +349609,102 @@
    "7eb28a000bdde9634e618701e2ba512e4a9ebc49",
    "support"
   ],
+  "client-hints/accept-ch-stickiness/cross-origin-iframe-not-setting-other-origins.https.html": [
+   "5316c2874cf624751f846d554b35b57e8630af40",
+   "testharness"
+  ],
+  "client-hints/accept-ch-stickiness/cross-origin-iframe-not-setting-own-origin.https.html": [
+   "f83aa6173e2dbca7de68d817914a56700a0cdd79",
+   "testharness"
+  ],
+  "client-hints/accept-ch-stickiness/cross-origin-navigation.https.html": [
+   "e05c8e3ef5bf853c04acc396166e0cd5a6a00b60",
+   "testharness"
+  ],
+  "client-hints/accept-ch-stickiness/cross-origin-subresource.https.html": [
+   "249ccb4a60d4756b1be34e2e324b29eae8e59370",
+   "testharness"
+  ],
+  "client-hints/accept-ch-stickiness/http-equiv-cross-origin-iframe-not-setting-other-origins.https.html": [
+   "226b3116fc173ebb7c217df94addbcadbfacec04",
+   "testharness"
+  ],
+  "client-hints/accept-ch-stickiness/http-equiv-cross-origin-iframe-not-setting-own-origin.https.html": [
+   "705b65a7bf44c1343a9e45045c17cd24cf2dbfd2",
+   "testharness"
+  ],
+  "client-hints/accept-ch-stickiness/http-equiv-cross-origin-navigation.https.html": [
+   "ffebeb919f0d440579fd207ee8a4dee59102ceae",
+   "testharness"
+  ],
+  "client-hints/accept-ch-stickiness/http-equiv-cross-origin-subresource.https.html": [
+   "7bb5d1520c746373d60bb9d0bee150d29dc0b048",
+   "testharness"
+  ],
+  "client-hints/accept-ch-stickiness/http-equiv-same-origin-iframe.https.html": [
+   "f07adaa901c4ed73bd27410cc081f9daed602918",
+   "testharness"
+  ],
+  "client-hints/accept-ch-stickiness/http-equiv-same-origin-navigation.https.html": [
+   "91b8cd639f26afe3d9d26bcbd92f9fc708a0bdb4",
+   "testharness"
+  ],
+  "client-hints/accept-ch-stickiness/http-equiv-same-origin-subresource.https.html": [
+   "793bf5e0796cb25c3847259bd56a74b0c1da108b",
+   "testharness"
+  ],
+  "client-hints/accept-ch-stickiness/resources/accept-ch-test.js": [
+   "ed635513fd70f20ec2c5b51fd88a4b0380b77190",
+   "support"
+  ],
+  "client-hints/accept-ch-stickiness/resources/accept-ch.html": [
+   "694c5b03bc18a0062689caaac5147e6aca8b6415",
+   "support"
+  ],
+  "client-hints/accept-ch-stickiness/resources/accept-ch.html.headers": [
+   "370f9869226db4bdf8785c876b13d69b415e5abf",
+   "support"
+  ],
+  "client-hints/accept-ch-stickiness/resources/clear-site-data.html": [
+   "e69de29bb2d1d6434b8b29ae775ad8c2e48c5391",
+   "support"
+  ],
+  "client-hints/accept-ch-stickiness/resources/clear-site-data.html.headers": [
+   "a0077c0577fc31220a63d0424f3fd4d1ab2de2bc",
+   "support"
+  ],
+  "client-hints/accept-ch-stickiness/resources/do-not-expect-client-hints-headers.html": [
+   "147206b26aeb8fe3f4813e4b1f68d7a59b658c46",
+   "support"
+  ],
+  "client-hints/accept-ch-stickiness/resources/echo-client-hints-received.py": [
+   "be712293be3c749d98d328dd2fec7334da4ad9b2",
+   "support"
+  ],
+  "client-hints/accept-ch-stickiness/resources/expect-client-hints-headers.html": [
+   "cda1f81978d9a8dbc7dd12286d8885f16007b9e0",
+   "support"
+  ],
+  "client-hints/accept-ch-stickiness/resources/http-equiv-accept-ch.html": [
+   "05e18a44fb96665299ab79f037a7ca20180bf92a",
+   "support"
+  ],
+  "client-hints/accept-ch-stickiness/resources/http-equiv-accept-ch.html.headers": [
+   "27140bf36e4dbd22b8f7190587f42a570c9d12bd",
+   "support"
+  ],
+  "client-hints/accept-ch-stickiness/same-origin-iframe.https.html": [
+   "25e29017f403816e0917979a7c4886ac28f65fc4",
+   "testharness"
+  ],
+  "client-hints/accept-ch-stickiness/same-origin-navigation.https.html": [
+   "e35cbdcedd0f30e31834764cb23a574ce75feed5",
+   "testharness"
+  ],
+  "client-hints/accept-ch-stickiness/same-origin-subresource.https.html": [
+   "0b7151a2cca08d941d313e014e41769c08c350cc",
+   "testharness"
+  ],
   "client-hints/accept_ch.http.html": [
    "50d77646f89aea13c212c6ecee4e7f32107007e9",
    "testharness"
@@ -349547,10 +349773,6 @@
    "dd516a97c965f4a248fa27ed8ce71dae6251e106",
    "testharness"
   ],
-  "client-hints/resources/accept-ch-lifetime-test.js": [
-   "05aaec1aef8a50c9aac835fd523c48c680e998a3",
-   "support"
-  ],
   "client-hints/resources/accept_ch.html": [
    "48d09f2d95c57875b71b088c2db8ce9585f5a237",
    "support"
@@ -349559,26 +349781,6 @@
    "91ee40652f06508478bb776bf4068fd61277cef3",
    "support"
   ],
-  "client-hints/resources/accept_ch_lifetime.html": [
-   "a77eaab3f0baac62797e2b48592603da463c2f8a",
-   "support"
-  ],
-  "client-hints/resources/accept_ch_lifetime.html.headers": [
-   "370f9869226db4bdf8785c876b13d69b415e5abf",
-   "support"
-  ],
-  "client-hints/resources/clear-site-data.html": [
-   "e69de29bb2d1d6434b8b29ae775ad8c2e48c5391",
-   "support"
-  ],
-  "client-hints/resources/clear-site-data.html.headers": [
-   "a0077c0577fc31220a63d0424f3fd4d1ab2de2bc",
-   "support"
-  ],
-  "client-hints/resources/do_not_expect_client_hints_headers.html": [
-   "b3cf5df4c27224fe30a6ec3b4507aa30a8fe6a95",
-   "support"
-  ],
   "client-hints/resources/expect-client-hints-headers-iframe.py": [
    "e72d77c47d9aae36c619e8e065e5685f7a9c166b",
    "support"
@@ -349591,14 +349793,6 @@
    "4487d9a447313f87dd2f230ce7d858b38008fae8",
    "support"
   ],
-  "client-hints/resources/http_equiv_accept_ch_lifetime.html": [
-   "ab2ab9e60c8a4ee6d4fc088fb6c8d4d6d0daffd6",
-   "support"
-  ],
-  "client-hints/resources/http_equiv_accept_ch_lifetime.html.headers": [
-   "27140bf36e4dbd22b8f7190587f42a570c9d12bd",
-   "support"
-  ],
   "client-hints/resources/iframe-accept-ch-lifetime.html": [
    "693e4f94dcc3363f0d15e7c7a18a7a598c72cf77",
    "support"
@@ -349611,10 +349805,6 @@
    "a14a27dadf9e333784a5c636c821634b387e475f",
    "support"
   ],
-  "client-hints/resources/square.png": [
-   "01c9666a8de9d5535615aff830810e5df4b2156f",
-   "support"
-  ],
   "client-hints/resources/stale-echo-client-hints.py": [
    "769fa909fa4b3b960fbde2e6df282efc970b35d0",
    "support"
@@ -349808,7 +349998,7 @@
    "support"
   ],
   "common/security-features/README.md": [
-   "c19874653a7cac4d314fd9dd0bf921082c6f8d70",
+   "2509d661b4afb68a5bfca0a41270d93586ddbe49",
    "support"
   ],
   "common/security-features/resources/common.sub.js": [
@@ -349932,15 +350122,15 @@
    "support"
   ],
   "common/security-features/tools/generate.py": [
-   "6fac19827aa1043ad7d3244cf78f44a8ed0b5cbc",
+   "3c298b5a3e20216f822b420d3460e1bea48e22d5",
    "support"
   ],
   "common/security-features/tools/spec_validator.py": [
-   "06a5acce23a41ad0157871bc2d5de26d307a1c53",
+   "d845b086a3ed55aae6cd0645ece986c238a54a55",
    "support"
   ],
   "common/security-features/tools/template/disclaimer.template": [
-   "66c43ed6f21324d44b1596c09a02fecf53f41323",
+   "ba9458cb31252aecf3c447b43c505a04d7abf92f",
    "support"
   ],
   "common/security-features/tools/template/spec_json.js.template": [
@@ -355719,8 +355909,12 @@
    "bd7349e486e1886356342e2b1e0dadc4e8c074a6",
    "testharness"
   ],
+  "cors/preflight-cache-expected.txt": [
+   "d82bf39c8e51d25dcbaf6690017a9c59074a6869",
+   "support"
+  ],
   "cors/preflight-cache.htm": [
-   "0b6138bdffacee41537e4ed4131620e863ceb3d1",
+   "b3de663ebc1d32409c8ed376a3873b2a2b675eb5",
    "testharness"
   ],
   "cors/preflight-failure.htm": [
@@ -367723,6 +367917,14 @@
    "d4fc6de070d23ebe8817e9a299c44e48cad256a9",
    "reftest"
   ],
+  "css/CSS2/text/bidi-span-003-ref.html": [
+   "4cebcb90bba5d842f2f617c5f7878bca117d4acb",
+   "support"
+  ],
+  "css/CSS2/text/bidi-span-003.html": [
+   "92a90d529c5a10ff099a03a3133f6c96c5b4d91c",
+   "reftest"
+  ],
   "css/CSS2/text/bidi-text-decoration-underline-001.xht": [
    "e3efb521f2208113ad3278a261348bc5997240f5",
    "visual"
@@ -382523,12 +382725,16 @@
    "a83f518a232e82bf76a8b9c7a8d6cae71808b420",
    "reftest"
   ],
+  "css/css-flexbox/table-as-item-fixed-min-width.html": [
+   "3a676babde0e573f3f801d1f498b02e8a6b891ff",
+   "reftest"
+  ],
   "css/css-flexbox/table-as-item-narrow-content.html": [
    "31cf112518198044d485b4ba5ff477773c29487c",
    "reftest"
   ],
   "css/css-flexbox/table-as-item-wide-content.html": [
-   "475adf548fdba180ec684ff4702aadc305d6c632",
+   "45ad49ec2d69808cb09892515ea882716edd369d",
    "reftest"
   ],
   "css/css-flexbox/table-with-infinite-max-intrinsic-width.html": [
@@ -391435,28 +391641,16 @@
    "d45df4bc2231cbda5dee1bafc3f386f008024d79",
    "support"
   ],
-  "css/css-grid/alignment/grid-align-content-distribution-expected.txt": [
-   "29efcb5b4de0b02e99471433b0f12ca2d308cc51",
-   "support"
-  ],
-  "css/css-grid/alignment/grid-align-content-distribution-vertical-lr-expected.txt": [
-   "82b19bbbf0af70e6e43357a9083fc5a914c0da2f",
-   "support"
-  ],
   "css/css-grid/alignment/grid-align-content-distribution-vertical-lr.html": [
-   "8217f4dd2c3cfd031aece87d54a78d5bcec640ca",
+   "cecab3e213653fbb732cc12f04cc44daee6da5a5",
    "testharness"
   ],
-  "css/css-grid/alignment/grid-align-content-distribution-vertical-rl-expected.txt": [
-   "732395093c507177176642489e87db18a3554e18",
-   "support"
-  ],
   "css/css-grid/alignment/grid-align-content-distribution-vertical-rl.html": [
-   "096e3fd6910a09ba5097b66acdb1dcf8a6d5326e",
+   "40ee22190b917488af3005e16574a75f1de210ca",
    "testharness"
   ],
   "css/css-grid/alignment/grid-align-content-distribution.html": [
-   "7b66ddb995191c67278d861aa6cb6a637bc6adaf",
+   "488fc05aad441bd2a648ad1a95c339ae82504ee1",
    "testharness"
   ],
   "css/css-grid/alignment/grid-align-content.html": [
@@ -449256,7 +449450,7 @@
    "support"
   ],
   "encrypted-media/scripts/check-encryption-scheme.js": [
-   "5d629271b42ff374e1b40a9a3b4113b42d1afbaf",
+   "ffab4a34911eb918d5e999e131205b4a9f92d92c",
    "support"
   ],
   "encrypted-media/scripts/check-initdata-type.js": [
@@ -455951,6 +456145,10 @@
    "eb2c21b38a307b6ac015f018a8192384455ac9fb",
    "testharness"
   ],
+  "html/browsers/history/the-location-interface/location_reload_javascript_url.html": [
+   "737cafbcd3ec2955102427227b58c63edf3ec525",
+   "testharness"
+  ],
   "html/browsers/history/the-location-interface/location_replace.html": [
    "2f2d573084598e0de753b9e03045cbd281e3efe5",
    "testharness"
@@ -483611,12 +483809,12 @@
    "55a103adf0f29c615d40bc47943be1aec25c8f1e",
    "support"
   ],
-  "mixed-content/generic/test-case.sub.js": [
-   "661cff12d00e1d7cc1f8e9b2ca2f4ff2b65f4e06",
+  "mixed-content/generic/spec_json.js": [
+   "2f5212e9ff762d0f9e10a738120035beea618560",
    "support"
   ],
-  "mixed-content/generic/tools/generate.py": [
-   "060bdabf91cc41f9be0d6c8e5bbf4a8e05c381c1",
+  "mixed-content/generic/test-case.sub.js": [
+   "661cff12d00e1d7cc1f8e9b2ca2f4ff2b65f4e06",
    "support"
   ],
   "mixed-content/imageset.https.sub.html": [
@@ -483624,11 +483822,7 @@
    "testharness"
   ],
   "mixed-content/spec.src.json": [
-   "c272bb3f642bfd71ace5e4bcab4a66cadaf732c5",
-   "support"
-  ],
-  "mixed-content/spec_json.js": [
-   "00428b1fa5e6396b82484d33cf36589a8c64dd9a",
+   "8ece6de3ffdf84c6acdcfd4c9c17ec5d83099212",
    "support"
   ],
   "mst-content-hint/META.yml": [
@@ -491768,15 +491962,15 @@
    "testharness"
   ],
   "payment-request/allowpaymentrequest/removing-allowpaymentrequest.https.sub.html": [
-   "b0e0cbacbf2e611139cd30747acaaf1186ae21f6",
+   "64baebb50246514e9fd3db59d3dada4af9720825",
    "testharness"
   ],
   "payment-request/allowpaymentrequest/setting-allowpaymentrequest-timing.https.sub.html": [
-   "45661de7e0dedd19cda4a7a2f0a76aaa72e91ccc",
+   "a741296d5da75460f3d2877f228d4c59e13d643c",
    "testharness"
   ],
   "payment-request/allowpaymentrequest/setting-allowpaymentrequest.https.sub.html": [
-   "06f0c8479da9450c748fe01c6d411f73355210da",
+   "c1d53a4bc261759d5ee7243c90e4beb7f8b7de4e",
    "testharness"
   ],
   "payment-request/billing-address-changed-manual.https.html": [
@@ -505923,6 +506117,10 @@
    "e296ce93b965b788ea79f2f2b6cff45d5dce55f0",
    "support"
   ],
+  "referrer-policy/generic/spec_json.js": [
+   "cad5e79f1f8b80bdc54f2f8e861d821770b29721",
+   "support"
+  ],
   "referrer-policy/generic/subresource-test/area-navigate.html": [
    "2a4f29654df1da8e3f18359dacf6ce092c325a67",
    "testharness"
@@ -505963,20 +506161,12 @@
    "c8a6b139f33fa044ddb644409b1e4437d3df338c",
    "support"
   ],
-  "referrer-policy/generic/tools/generate.py": [
-   "7cace61c0f0b7cd973bf2ea6f88d12a436805d48",
-   "support"
-  ],
   "referrer-policy/generic/unsupported-csp-referrer-directive.html": [
    "a7f22210edd9703c67cf9df819c07117b5399445",
    "testharness"
   ],
   "referrer-policy/spec.src.json": [
-   "2674a45d6db37fdd2fed84bf08fea51b5432f456",
-   "support"
-  ],
-  "referrer-policy/spec_json.js": [
-   "8a15eaee1ebd7886a1f80dc7dc0bac46b08f595d",
+   "b0e07eb132861688d58126ab506afb4c8de03256",
    "support"
   ],
   "remote-playback/META.yml": [
@@ -521956,11 +522146,11 @@
    "manual"
   ],
   "uievents/order-of-events/mouse-events/wheel-basic-manual.html": [
-   "093951dfe49b4f68e9015614f320f9254d54f391",
+   "c5a09f6cb4f8919539090187fa8be1a670617b33",
    "manual"
   ],
   "uievents/order-of-events/mouse-events/wheel-scrolling-manual.html": [
-   "5acae6d4777ccff91d4bafcfa16cdde2eba69912",
+   "cae4cf6523b4a23d125d187215a96ad7918675cc",
    "manual"
   ],
   "uievents/resources/eventrecorder.js": [
@@ -525039,12 +525229,12 @@
    "43c8dcf97b3ea5af9cee9403392b998c8d079a0a",
    "testharness"
   ],
-  "upgrade-insecure-requests/generic/test-case.sub.js": [
-   "cde228dbad89f7b707a6332dc8ed3b41e0474555",
+  "upgrade-insecure-requests/generic/spec_json.js": [
+   "89b17048e22f642255e67aa13bed9bdbecf01bec",
    "support"
   ],
-  "upgrade-insecure-requests/generic/tools/generate.py": [
-   "4c19f4c34dab0ecd302ae22fcffdc3f07ce935c6",
+  "upgrade-insecure-requests/generic/test-case.sub.js": [
+   "cde228dbad89f7b707a6332dc8ed3b41e0474555",
    "support"
   ],
   "upgrade-insecure-requests/link-upgrade.sub.https.html": [
@@ -525132,11 +525322,7 @@
    "support"
   ],
   "upgrade-insecure-requests/spec.src.json": [
-   "6aee9a280b0ff5001c77e2d8a688618c049dc226",
-   "support"
-  ],
-  "upgrade-insecure-requests/spec_json.js": [
-   "9122ce38e31e1a2c2c2c3f4caa291ae24e91a8cb",
+   "dcf63008f63116fceb47d5d2bfb7aa15696202f0",
    "support"
   ],
   "upgrade-insecure-requests/support/redirect-cors.py": [
@@ -530068,7 +530254,7 @@
    "support"
   ],
   "webrtc/RTCDTMFSender-insertDTMF.https.html": [
-   "8ac144bab9286fbaa560272ae9c1ca7965090532",
+   "62a5f0472c1983140f1ccd29b10e5b86d302c79b",
    "testharness"
   ],
   "webrtc/RTCDTMFSender-ontonechange-long.https.html": [
@@ -530136,7 +530322,7 @@
    "testharness"
   ],
   "webrtc/RTCIceConnectionState-candidate-pair.https.html": [
-   "6c93aec9260d50d1d6cfcd637d15dd44385bee0d",
+   "0752c9aaee65cd4216861e9900c8f863f9d14456",
    "testharness"
   ],
   "webrtc/RTCIceTransport-expected.txt": [
@@ -530176,7 +530362,7 @@
    "testharness"
   ],
   "webrtc/RTCPeerConnection-addTrack.https.html": [
-   "1550fc4f7943b79cc331d5c93ca6d5643793dead",
+   "3f4f927883de757d23caf7fda2af30715d67d8ed",
    "testharness"
   ],
   "webrtc/RTCPeerConnection-addTransceiver.https-expected.txt": [
@@ -530184,7 +530370,7 @@
    "support"
   ],
   "webrtc/RTCPeerConnection-addTransceiver.https.html": [
-   "6df056117d02452e040b153147dbdad7bf8fa9bb",
+   "3640bfb31cd32b926c0493aa1d80f9d291dfae26",
    "testharness"
   ],
   "webrtc/RTCPeerConnection-canTrickleIceCandidates-expected.txt": [
@@ -530200,7 +530386,7 @@
    "testharness"
   ],
   "webrtc/RTCPeerConnection-connectionState.https.html": [
-   "a054a1e8cccbd02cc7b55f96ff483219846cf997",
+   "9e2f3649aec145f3f8787846c0cd3b9ac74a7a81",
    "testharness"
   ],
   "webrtc/RTCPeerConnection-constructor-expected.txt": [
@@ -530268,11 +530454,11 @@
    "support"
   ],
   "webrtc/RTCPeerConnection-iceConnectionState-disconnected.https.html": [
-   "dbfc41e0c375dea0711a8cf312846cbdb27c570b",
+   "ff405f32851037e3880b674b4553896d36d92544",
    "testharness"
   ],
   "webrtc/RTCPeerConnection-iceConnectionState.https.html": [
-   "a2b2827b8494af7e33e5c81b765b92041064fe6f",
+   "a5bf7536ff5fa8dea448010c73dcbee4ad7532ff",
    "testharness"
   ],
   "webrtc/RTCPeerConnection-iceGatheringState-expected.txt": [
@@ -530308,7 +530494,7 @@
    "testharness"
   ],
   "webrtc/RTCPeerConnection-onsignalingstatechanged.https.html": [
-   "fc3182d3d59ea5ba80cbcf022a76c4fc40f18a1a",
+   "c09285956dfc73fba1390343903af377181ec08a",
    "testharness"
   ],
   "webrtc/RTCPeerConnection-ontrack.https.html": [
@@ -530324,7 +530510,7 @@
    "support"
   ],
   "webrtc/RTCPeerConnection-removeTrack.https.html": [
-   "f2add7f0d34bada5c156cafeac399e104b2a414a",
+   "10b4cfb3a613d8abc508da9ed12c3c3605d32ebe",
    "testharness"
   ],
   "webrtc/RTCPeerConnection-restartIce-onnegotiationneeded.https.html": [
@@ -530492,7 +530678,7 @@
    "testharness"
   ],
   "webrtc/RTCRtpReceiver-getContributingSources.https.html": [
-   "aa59f1b910aca14b2101b063654a17d1602ba26b",
+   "7245d477cc8994098e1d0af2a8a5ddbf2f57620e",
    "testharness"
   ],
   "webrtc/RTCRtpReceiver-getParameters-expected.txt": [
@@ -530516,7 +530702,7 @@
    "support"
   ],
   "webrtc/RTCRtpReceiver-getSynchronizationSources.https.html": [
-   "a78ede0d90863dbfa458807d435a34cd9087b61f",
+   "8436a44ebcd227fa934ceba5488918b10d92acd3",
    "testharness"
   ],
   "webrtc/RTCRtpSender-getCapabilities.html": [
@@ -530552,7 +530738,7 @@
    "testharness"
   ],
   "webrtc/RTCRtpSender-transport.https.html": [
-   "8c0552dd68aba8c707c6cbe2c7d6f9f3c5f64f17",
+   "cd419ebc186b720c2a5f961451eec723ad229fa8",
    "testharness"
   ],
   "webrtc/RTCRtpTransceiver-direction.html": [
@@ -530576,7 +530762,7 @@
    "support"
   ],
   "webrtc/RTCRtpTransceiver.https.html": [
-   "67571895175f19c008743523f035aa31fced9681",
+   "36708d11ec82bfff5e55489f334a74668cb51698",
    "testharness"
   ],
   "webrtc/RTCSctpTransport-constructor.html": [
@@ -535523,6 +535709,18 @@
    "1268f4ea2a5eb228fb49a6f06d8905f8d9480ae7",
    "testharness"
   ],
+  "webxr/ar-module/xrDevice_isSessionSupported_immersive-ar.https.html": [
+   "2cd36a17f62243eedd9eed8efcac416f5f029d8d",
+   "testharness"
+  ],
+  "webxr/ar-module/xrDevice_requestSession_immersive-ar.https.html": [
+   "c3fdeb34db0f65b9c0af3b79aa8adf22f799d6c6",
+   "testharness"
+  ],
+  "webxr/ar-module/xrSession_environmentBlendMode.https.html": [
+   "da2ddc28d8dc8c4903b985dbe08f9ad034ef0f1b",
+   "testharness"
+  ],
   "webxr/events_input_source_recreation.https.html": [
    "ecb4b022bf09410cae44b4f5a3c71bc5c054181e",
    "testharness"
@@ -535616,7 +535814,7 @@
    "support"
   ],
   "webxr/resources/webxr_test_constants.js": [
-   "d56a4925fca58958834e308746e7167276435fcd",
+   "553a8127fcf80fd3999add61439fca4a58c5d065",
    "support"
   ],
   "webxr/resources/webxr_test_constants_fake_world.js": [
diff --git a/third_party/blink/web_tests/external/wpt/WebIDL/ecmascript-binding/put-forwards.html b/third_party/blink/web_tests/external/wpt/WebIDL/ecmascript-binding/put-forwards.html
index b004bd0..d7cc389b 100644
--- a/third_party/blink/web_tests/external/wpt/WebIDL/ecmascript-binding/put-forwards.html
+++ b/third_party/blink/web_tests/external/wpt/WebIDL/ecmascript-binding/put-forwards.html
@@ -114,4 +114,18 @@
     element.style = "color: green";
   });
 }, "TypeError when getter of [PutForwards] attribute returns non-object");
+
+test(() => {
+  var element = document.createElement("div");
+
+  var element_style = element.style;
+  Object.defineProperty(element.style, "cssText", {
+    value: null,
+    writable: false,
+  });
+
+  element.style = "color: green";
+  assert_equals(element.style, element_style);
+  assert_equals(element.style.cssText, null);
+}, "Does not throw when setter of [PutForwards] attribute returns false");
 </script>
diff --git a/third_party/blink/web_tests/external/wpt/common/security-features/README.md b/third_party/blink/web_tests/external/wpt/common/security-features/README.md
index c1987465..2509d66 100644
--- a/third_party/blink/web_tests/external/wpt/common/security-features/README.md
+++ b/third_party/blink/web_tests/external/wpt/common/security-features/README.md
@@ -39,28 +39,25 @@
 ├── spec.src.json
 ├── generic/
 │   ├── test-case.sub.js - Per-project test helper
-│   └── tools/
-│       └── generator.py - Per-project generator script
+│   ├── sanity-checker.js (Used by debug target only)
+│   └── spec_json.js (Used by debug target only)
 └── gen/ - generated tests
 ```
 
-Invoking `project-directory/generic/tools/generate.py` will parse the spec JSON and determine which tests to generate (or skip) while using templates.
-
 ## Generating the tests
 
-The repository already contains generated tests, so if you're making changes, see the [Removing all generated tests](#removing-all-generated-tests) section below, on how to remove them before you start generating tests which include your changes.
+Note: When the repository already contains generated tests, [remove all generated tests](#removing-all-generated-tests) first.
 
 ```bash
-# Chdir into the project directory.
-cd ~/web-platform-tests/project-directory
-
 # Generate the test files under gen/ (HTMLs and .headers files).
-./generic/tools/generate.py
+path/to/common/security-features/tools/generate.py --spec path/to/project-directory/
 
 # Add all generated tests to the repo.
-git add gen/ && git commit -m "Add generated tests"
+git add path/to/project-directory/gen/ && git commit -m "Add generated tests"
 ```
 
+This will parse the spec JSON (`project-directory/spec.src.json`) and determine which tests to generate (or skip) while using templates.
+
 During the generation, the spec is validated by ```common/security-features/tools/spec_validator.py```. This is specially important when you're making changes to  `spec.src.json`. Make sure it's a valid JSON (no comments or trailing commas). The validator reports specific errors (missing keys etc.), if any.
 
 ### Removing all generated tests
@@ -68,18 +65,14 @@
 Simply remove all files under `project-directory/gen/`.
 
 ```bash
-# Chdir into the project directory.
-cd ~/web-platform-tests/project-directory
-
-# Remove all generated tests.
-rm -r gen/
+rm -r path/to/project-directory/gen/
 ```
 
 ### Options for generating tests
 
 Note: this section is currently obsolete. Only the release template is working.
 
-The generator script ```./generic/tools/generate.py``` has two targets: ```release``` and ```debug```.
+The generator script has two targets: ```release``` and ```debug```.
 
 * Using **release** for the target will produce tests using a template for optimizing size and performance. The release template is intended for the official web-platform-tests and possibly other test suites. No sanity checking is done in release mode. Use this option whenever you're checking into web-platform-tests.
 
diff --git a/third_party/blink/web_tests/external/wpt/common/security-features/tools/generate.py b/third_party/blink/web_tests/external/wpt/common/security-features/tools/generate.py
old mode 100644
new mode 100755
index 6fac198..ba99706
--- a/third_party/blink/web_tests/external/wpt/common/security-features/tools/generate.py
+++ b/third_party/blink/web_tests/external/wpt/common/security-features/tools/generate.py
@@ -1,3 +1,5 @@
+#!/usr/bin/env python
+
 from __future__ import print_function
 
 import argparse
@@ -64,7 +66,7 @@
         cls=util.CustomEncoder)
 
 
-def get_test_filename(config, selection):
+def get_test_filename(spec_directory, spec_json, selection):
     '''Returns the filname for the main test HTML file'''
 
     selection_for_filename = copy.deepcopy(selection)
@@ -72,8 +74,9 @@
     if selection_for_filename['delivery_value'] is None:
         selection_for_filename['delivery_value'] = 'unset'
 
-    return os.path.join(config.spec_directory,
-                        config.test_file_path_pattern % selection_for_filename)
+    return os.path.join(
+        spec_directory,
+        spec_json['test_file_path_pattern'] % selection_for_filename)
 
 
 def handle_deliveries(policy_deliveries):
@@ -127,9 +130,9 @@
     return {"meta": meta, "headers": headers}
 
 
-def generate_selection(spec_json, config, selection, spec,
+def generate_selection(spec_directory, spec_json, selection, spec,
                        test_html_template_basename):
-    test_filename = get_test_filename(config, selection)
+    test_filename = get_test_filename(spec_directory, spec_json, selection)
 
     target_policy_delivery = util.PolicyDelivery(selection['delivery_type'],
                                                  selection['delivery_key'],
@@ -175,16 +178,23 @@
         "\n", indent)
 
     selection['spec_name'] = spec['name']
-    selection[
-        'test_page_title'] = config.test_page_title_template % spec['title']
+    selection['test_page_title'] = spec_json['test_page_title_template'] % spec
     selection['spec_description'] = spec['description']
     selection['spec_specification_url'] = spec['specification_url']
-    selection['helper_js'] = config.helper_js
-    selection['sanity_checker_js'] = config.sanity_checker_js
-    selection['spec_json_js'] = config.spec_json_js
+
+    test_directory = os.path.dirname(test_filename)
+
+    selection['helper_js'] = os.path.relpath(
+        os.path.join(spec_directory, 'generic', 'test-case.sub.js'),
+        test_directory)
+    selection['sanity_checker_js'] = os.path.relpath(
+        os.path.join(spec_directory, 'generic', 'sanity-checker.js'),
+        test_directory)
+    selection['spec_json_js'] = os.path.relpath(
+        os.path.join(spec_directory, 'generic', 'spec_json.js'),
+        test_directory)
 
     test_headers_filename = test_filename + ".headers"
-    test_directory = os.path.dirname(test_filename)
 
     test_html_template = util.get_template(test_html_template_basename)
     disclaimer_template = util.get_template('disclaimer.template')
@@ -194,13 +204,13 @@
     generated_disclaimer = disclaimer_template \
         % {'generating_script_filename': os.path.relpath(sys.argv[0],
                                                          util.test_root_directory),
-           'html_template_filename': os.path.relpath(html_template_filename,
-                                                     util.test_root_directory)}
+           'spec_directory': os.path.relpath(spec_directory,
+                                             util.test_root_directory)}
 
     # Adjust the template for the test invoking JS. Indent it to look nice.
     selection['generated_disclaimer'] = generated_disclaimer.rstrip()
-    selection[
-        'test_description'] = config.test_description_template % selection
+    selection['test_description'] = spec_json[
+        'test_description_template'] % selection
     selection['test_description'] = \
         selection['test_description'].rstrip().replace("\n", "\n" + " " * 33)
 
@@ -227,12 +237,12 @@
     util.write_file(test_filename, test_html_template % selection)
 
 
-def generate_test_source_files(config, spec_json, target):
+def generate_test_source_files(spec_directory, spec_json, target):
     test_expansion_schema = spec_json['test_expansion_schema']
     specification = spec_json['specification']
 
     spec_json_js_template = util.get_template('spec_json.js.template')
-    generated_spec_json_filename = os.path.join(config.spec_directory,
+    generated_spec_json_filename = os.path.join(spec_directory, "generic",
                                                 "spec_json.js")
     util.write_file(
         generated_spec_json_filename,
@@ -251,8 +261,8 @@
             expand_pattern(excluded_pattern, test_expansion_schema)
         for excluded_selection in permute_expansion(excluded_expansion,
                                                     artifact_order):
-            excluded_selection_path = config.selection_pattern % excluded_selection
-            exclusion_dict[excluded_selection_path] = True
+            excluded_selection['delivery_key'] = spec_json['delivery_key']
+            exclusion_dict[dump_test_parameters(excluded_selection)] = True
 
     for spec in specification:
         # Used to make entries with expansion="override" override preceding
@@ -264,29 +274,29 @@
                                        test_expansion_schema)
             for selection in permute_expansion(expansion, artifact_order):
                 selection['delivery_key'] = spec_json['delivery_key']
-                selection_path = config.selection_pattern % selection
-                if not selection_path in exclusion_dict:
-                    if selection_path in output_dict:
-                        if expansion_pattern['expansion'] != 'override':
-                            print(
-                                "Error: %s's expansion is default but overrides %s"
-                                % (selection['name'],
-                                   output_dict[selection_path]['name']))
-                            sys.exit(1)
-                    output_dict[selection_path] = copy.deepcopy(selection)
-                else:
-                    print('Excluding selection:', selection_path)
+                selection_path = spec_json['selection_pattern'] % selection
+                if selection_path in output_dict:
+                    if expansion_pattern['expansion'] != 'override':
+                        print(
+                            "Error: %s's expansion is default but overrides %s"
+                            % (selection['name'],
+                               output_dict[selection_path]['name']))
+                        sys.exit(1)
+                output_dict[selection_path] = copy.deepcopy(selection)
 
         for selection_path in output_dict:
             selection = output_dict[selection_path]
+            if dump_test_parameters(selection) in exclusion_dict:
+                print('Excluding selection:', selection_path)
+                continue
             try:
-                generate_selection(spec_json, config, selection, spec,
+                generate_selection(spec_directory, spec_json, selection, spec,
                                    html_template)
             except util.ShouldSkip:
                 continue
 
 
-def main(config):
+def main():
     parser = argparse.ArgumentParser(
         description='Test suite generator utility')
     parser.add_argument(
@@ -300,16 +310,19 @@
         '-s',
         '--spec',
         type=str,
-        default=None,
+        default=os.getcwd(),
         help='Specify a file used for describing and generating the tests')
     # TODO(kristijanburnik): Add option for the spec_json file.
     args = parser.parse_args()
 
-    if args.spec:
-        config.spec_directory = args.spec
+    spec_directory = os.path.abspath(args.spec)
 
-    spec_filename = os.path.join(config.spec_directory, "spec.src.json")
+    spec_filename = os.path.join(spec_directory, "spec.src.json")
     spec_json = util.load_spec_json(spec_filename)
     spec_validator.assert_valid_spec_json(spec_json)
 
-    generate_test_source_files(config, spec_json, args.target)
+    generate_test_source_files(spec_directory, spec_json, args.target)
+
+
+if __name__ == '__main__':
+    main()
diff --git a/third_party/blink/web_tests/external/wpt/common/security-features/tools/spec_validator.py b/third_party/blink/web_tests/external/wpt/common/security-features/tools/spec_validator.py
index 06a5acc..d845b086 100755
--- a/third_party/blink/web_tests/external/wpt/common/security-features/tools/spec_validator.py
+++ b/third_party/blink/web_tests/external/wpt/common/security-features/tools/spec_validator.py
@@ -87,6 +87,8 @@
 
     details['object'] = spec_json
     assert_contains_only_fields(spec_json, [
+        "selection_pattern", "test_file_path_pattern",
+        "test_description_template", "test_page_title_template",
         "specification", "delivery_key", "subresource_schema",
         "source_context_schema", "source_context_list_schema",
         "test_expansion_schema", "excluded_tests"
diff --git a/third_party/blink/web_tests/external/wpt/common/security-features/tools/template/disclaimer.template b/third_party/blink/web_tests/external/wpt/common/security-features/tools/template/disclaimer.template
index 66c43ed6..ba9458c 100644
--- a/third_party/blink/web_tests/external/wpt/common/security-features/tools/template/disclaimer.template
+++ b/third_party/blink/web_tests/external/wpt/common/security-features/tools/template/disclaimer.template
@@ -1 +1 @@
-<!-- DO NOT EDIT! Generated by %(generating_script_filename)s using %(html_template_filename)s. -->
+<!-- DO NOT EDIT! Generated by `%(generating_script_filename)s --spec %(spec_directory)s/` -->
diff --git a/third_party/blink/web_tests/external/wpt/common/security-features/tools/util.py b/third_party/blink/web_tests/external/wpt/common/security-features/tools/util.py
index 269f464..f310296 100644
--- a/third_party/blink/web_tests/external/wpt/common/security-features/tools/util.py
+++ b/third_party/blink/web_tests/external/wpt/common/security-features/tools/util.py
@@ -1,6 +1,7 @@
 from __future__ import print_function
 
 import os, sys, json, re
+import collections
 
 script_directory = os.path.dirname(os.path.abspath(__file__))
 template_directory = os.path.abspath(
@@ -30,7 +31,7 @@
     re_error_location = re.compile('line ([0-9]+) column ([0-9]+)')
     with open(path_to_spec, "r") as f:
         try:
-            return json.load(f)
+            return json.load(f, object_pairs_hook=collections.OrderedDict)
         except ValueError as ex:
             print(ex.message)
             match = re_error_location.search(ex.message)
diff --git a/third_party/blink/web_tests/external/wpt/cors/preflight-cache-expected.txt b/third_party/blink/web_tests/external/wpt/cors/preflight-cache-expected.txt
new file mode 100644
index 0000000..d82bf39
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/cors/preflight-cache-expected.txt
@@ -0,0 +1,9 @@
+This is a testharness.js-based test.
+PASS Test preflight
+PASS preflight for x-print should be cached
+FAIL age = blank, should be cached assert_equals: did preflight expected "0" but got "1"
+PASS age = 0, should not be cached
+PASS age = -1, should not be cached
+PASS preflight first request, second from cache, wait, third should preflight again
+Harness: the test ran to completion.
+
diff --git a/third_party/blink/web_tests/external/wpt/cors/preflight-cache.htm b/third_party/blink/web_tests/external/wpt/cors/preflight-cache.htm
index 0b6138b..b3de663e 100644
--- a/third_party/blink/web_tests/external/wpt/cors/preflight-cache.htm
+++ b/third_party/blink/web_tests/external/wpt/cors/preflight-cache.htm
@@ -64,6 +64,15 @@
     var time = new Date().getTime()
     var client = new XMLHttpRequest()
 
+    var id = did_preflight(true, client, {extra:'max_age='})
+    did_preflight(false, client, {extra:'max_age=', token: id})
+},
+'age = blank, should be cached')
+
+test(function() {
+    var time = new Date().getTime()
+    var client = new XMLHttpRequest()
+
     var id = did_preflight(true, client, {extra:'max_age=0'})
     did_preflight(true, client, {extra:'max_age=0', token: id})
 },
diff --git a/third_party/blink/web_tests/external/wpt/css/CSS2/text/bidi-span-003-ref.html b/third_party/blink/web_tests/external/wpt/css/CSS2/text/bidi-span-003-ref.html
new file mode 100644
index 0000000..4cebcb9
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/css/CSS2/text/bidi-span-003-ref.html
@@ -0,0 +1,30 @@
+<!DOCTYPE html>
+<style>
+.container {
+  width: 300px;
+  background: pink;
+}
+div {
+  margin-bottom: 10px;
+  text-align: right;
+}
+.purple {
+  border: purple solid 5px;
+}
+.orange {
+  background: orange;
+}
+</style>
+<body>
+  <div class="container">
+    <div>
+      <span class="purple">inspect</span><span class="orange">pause</span>
+    </div>
+    <div>
+      <span class="purple">inspect</span> <span class="orange">pause</span>
+    </div
+    <div>
+      <span class="purple">inspect<span class="orange">pause</span></span>
+    </div>
+  </div>
+</body>
diff --git a/third_party/blink/web_tests/external/wpt/css/CSS2/text/bidi-span-003.html b/third_party/blink/web_tests/external/wpt/css/CSS2/text/bidi-span-003.html
new file mode 100644
index 0000000..92a90d5
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/css/CSS2/text/bidi-span-003.html
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<title>CSS Test: Bidi reordering with inline boxes</title>
+<link rel="match" href="bidi-span-003-ref.html">
+<link rel="help" href="https://drafts.csswg.org/css2/visuren.html#direction">
+<link rel="author" title="Koji Ishii" href="mailto:kojii@chromium.org">
+<style>
+.container {
+  width: 300px;
+  background: pink;
+}
+div {
+  margin-bottom: 10px;
+}
+.purple {
+  border: purple solid 5px;
+}
+.orange {
+  background: orange;
+}
+</style>
+<body>
+  <div class="container">
+    <div dir=rtl>
+      <span class="purple">inspect</span><span class="orange">pause</span>
+    </div>
+    <div dir=rtl>
+      <span class="purple">inspect</span> <span class="orange">pause</span>
+    </div>
+    <div dir=rtl>
+      <span class="purple">inspect<span class="orange">pause</span></span>
+    </div>
+  </div>
+</body>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-flexbox/table-as-item-fixed-min-width.html b/third_party/blink/web_tests/external/wpt/css/css-flexbox/table-as-item-fixed-min-width.html
new file mode 100644
index 0000000..3a676ba
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/css/css-flexbox/table-as-item-fixed-min-width.html
@@ -0,0 +1,12 @@
+<!DOCTYPE html>
+<title>CSS Flexbox Test: Flex item as table, specified width and min-width less than minimum intrinsic width</title>
+<link rel="author" title="Morten Stenshorne" href="mailto:mstensho@chromium.org">
+<link rel="author" title="David Grogan" href="mailto:dgrogan@chromium.org">
+<link rel="help" href="https://www.w3.org/TR/css-flexbox-1/#layout-algorithm" title="9. Flex Layout Algorithm">
+<link rel="match" href="../reference/ref-filled-green-100px-square.xht">
+<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+<div style="display:flex; width:100px; background:red;">
+  <div style="display:table; min-width: 5px; width: 10px; max-width:10px; height:100px; background:green;">
+    <div style="width:100px; height:10px; background:green;"></div>
+  </div>
+</div>
diff --git a/third_party/blink/web_tests/external/wpt/css/css-flexbox/table-as-item-wide-content.html b/third_party/blink/web_tests/external/wpt/css/css-flexbox/table-as-item-wide-content.html
index 475adf54..45ad49e 100644
--- a/third_party/blink/web_tests/external/wpt/css/css-flexbox/table-as-item-wide-content.html
+++ b/third_party/blink/web_tests/external/wpt/css/css-flexbox/table-as-item-wide-content.html
@@ -1,12 +1,24 @@
 <!DOCTYPE html>
 <title>CSS Flexbox Test: Flex item as table with wide content</title>
 <link rel="author" title="Morten Stenshorne" href="mailto:mstensho@chromium.org">
-<link rel="help" href="https://www.w3.org/TR/css-flexbox-1/#layout-algorithm" title="9. Flex Layout Algorithm">
-<meta name="assert" content="A flex item as a table uses the sizing algorithm of the flexbox">
-<link rel="match" href="../reference/ref-filled-green-100px-square-only.html">
-<p>Test passes if there is a filled green square.</p>
-<div style="display:flex; width:100px;">
+<link rel="author" title="David Grogan" href="mailto:dgrogan@chromium.org">
+<link rel="help" href="https://drafts.csswg.org/css-flexbox/#algo-main-item" title="Sentence beginning with 'The hypothetical main size is...'">
+<meta name="assert" content="A flex item respects the _used_ min size of an item, which tables define specially.">
+<link rel="bookmark" href="https://github.com/w3c/csswg-drafts/issues/2442" />
+<link rel="match" href="../reference/ref-filled-green-100px-square.xht">
+<style>
+#reference-overlapped-red {
+  position: absolute;
+  background-color: red;
+  width: 100px;
+  height: 100px;
+  z-index: -1;
+}
+</style>
+<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
+<div id=reference-overlapped-red></div>
+<div style="display:flex; width:50px;">
   <div style="min-width:0; flex:1 1; display:table; background:green;">
-    <div style="width:500px; height:100px;"></div>
+    <div style="width:100px; height:100px;"></div>
   </div>
 </div>
diff --git a/third_party/blink/web_tests/external/wpt/encrypted-media/scripts/check-encryption-scheme.js b/third_party/blink/web_tests/external/wpt/encrypted-media/scripts/check-encryption-scheme.js
index 5d62927..ffab4a3 100644
--- a/third_party/blink/web_tests/external/wpt/encrypted-media/scripts/check-encryption-scheme.js
+++ b/third_party/blink/web_tests/external/wpt/encrypted-media/scripts/check-encryption-scheme.js
@@ -38,4 +38,9 @@
   promise_test(
       () => checkEncryptionScheme('cbcs'),
       testnamePrefix(qualifier, config.keysystem) + ' support for "cbcs" encryption scheme.');
+
+  promise_test(
+      () => checkEncryptionScheme('cbcs-1-9'),
+      testnamePrefix(qualifier, config.keysystem) +
+          ' support for "cbcs-1-9" encryption scheme.');
 }
diff --git a/third_party/blink/web_tests/external/wpt/html/browsers/history/the-location-interface/location_reload_javascript_url.html b/third_party/blink/web_tests/external/wpt/html/browsers/history/the-location-interface/location_reload_javascript_url.html
new file mode 100644
index 0000000..737cafb
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/html/browsers/history/the-location-interface/location_reload_javascript_url.html
@@ -0,0 +1,60 @@
+<!DOCTYPE HTML>
+<html>
+  <head>
+    <title>location_reload_javascript_url</title>
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+  </head>
+  <body>
+    <div id="log"></div>
+
+    <iframe></iframe>
+
+    <script>
+    async_test(function(t) {
+      const URL = "/common/blank.html";
+      const URL2 = "/common/blank.html#foo";
+      const JS_URL_TEXT = "javascript generated page";
+      const JS_URL = "javascript:'<html>" + JS_URL_TEXT + "</html>'";
+
+      var iframe = document.querySelector("iframe");
+      var count = 0;
+      iframe.onload = t.step_func(function() {
+        // The URL should initially be "blank.html", and then "blank.html#foo";
+        // The textContent of the iframe's document should initially be blank,
+        // then become js generated text, and then be blank again after reload.
+        switch (count) {
+        case 0:
+          assert_equals(iframe.contentWindow.document.URL,
+                        location.href.replace(location.pathname, URL),
+                        "iframe url (" + count + ")");
+          assert_equals(iframe.contentDocument.body.textContent, "",
+                        "text of blank page");
+          iframe.contentWindow.location = JS_URL;
+          iframe.contentWindow.location = URL2;
+          break;
+        case 1:
+          assert_equals(iframe.contentWindow.document.URL,
+                        location.href.replace(location.pathname, URL2),
+                        "iframe url (" + count + ")");
+          assert_equals(iframe.contentDocument.body.textContent,
+                        JS_URL_TEXT, "text of js generated page");
+          iframe.contentWindow.location.reload();
+          break;
+        case 2:
+          assert_equals(iframe.contentWindow.document.URL,
+                          location.href.replace(location.pathname, URL2),
+                          "iframe url (" + count + ")");
+          assert_equals(iframe.contentDocument.body.textContent, "",
+                        "text of blank page");
+          t.done();
+          break;
+        }
+        count++;
+      });
+      iframe.src = URL;
+    });
+    </script>
+
+  </body>
+</html>
diff --git a/third_party/blink/web_tests/external/wpt/html/cross-origin-opener-policy/iframe-popup-same-origin-allow-popups.https-expected.txt b/third_party/blink/web_tests/external/wpt/html/cross-origin-opener-policy/iframe-popup-same-origin-allow-popups.https-expected.txt
new file mode 100644
index 0000000..2a5f690
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/html/cross-origin-opener-policy/iframe-popup-same-origin-allow-popups.https-expected.txt
@@ -0,0 +1,30 @@
+This is a testharness.js-based test.
+FAIL same-origin-allow-popups with SAME_ORIGIN iframe opening popup a SAME_ORIGIN with COOP: same-origin assert_equals: opener expected false but got true
+FAIL same-origin-allow-popups with SAME_SITE iframe opening popup a SAME_ORIGIN with COOP: same-origin assert_equals: opener expected false but got true
+FAIL same-origin-allow-popups with CROSS_ORIGIN iframe opening popup a SAME_ORIGIN with COOP: same-origin assert_equals: opener expected false but got true
+FAIL same-origin-allow-popups with SAME_ORIGIN iframe opening popup a SAME_SITE with COOP: same-origin assert_equals: opener expected false but got true
+FAIL same-origin-allow-popups with SAME_SITE iframe opening popup a SAME_SITE with COOP: same-origin assert_equals: opener expected false but got true
+FAIL same-origin-allow-popups with CROSS_ORIGIN iframe opening popup a SAME_SITE with COOP: same-origin assert_equals: opener expected false but got true
+FAIL same-origin-allow-popups with SAME_ORIGIN iframe opening popup a CROSS_ORIGIN with COOP: same-origin assert_equals: opener expected false but got true
+FAIL same-origin-allow-popups with SAME_SITE iframe opening popup a CROSS_ORIGIN with COOP: same-origin assert_equals: opener expected false but got true
+FAIL same-origin-allow-popups with CROSS_ORIGIN iframe opening popup a CROSS_ORIGIN with COOP: same-origin assert_equals: opener expected false but got true
+PASS same-origin-allow-popups with SAME_ORIGIN iframe opening popup a SAME_ORIGIN with COOP: same-origin-allow-popups
+FAIL same-origin-allow-popups with SAME_SITE iframe opening popup a SAME_ORIGIN with COOP: same-origin-allow-popups assert_equals: opener expected false but got true
+FAIL same-origin-allow-popups with CROSS_ORIGIN iframe opening popup a SAME_ORIGIN with COOP: same-origin-allow-popups assert_equals: opener expected false but got true
+FAIL same-origin-allow-popups with SAME_ORIGIN iframe opening popup a SAME_SITE with COOP: same-origin-allow-popups assert_equals: opener expected false but got true
+FAIL same-origin-allow-popups with SAME_SITE iframe opening popup a SAME_SITE with COOP: same-origin-allow-popups assert_equals: opener expected false but got true
+FAIL same-origin-allow-popups with CROSS_ORIGIN iframe opening popup a SAME_SITE with COOP: same-origin-allow-popups assert_equals: opener expected false but got true
+FAIL same-origin-allow-popups with SAME_ORIGIN iframe opening popup a CROSS_ORIGIN with COOP: same-origin-allow-popups assert_equals: opener expected false but got true
+FAIL same-origin-allow-popups with SAME_SITE iframe opening popup a CROSS_ORIGIN with COOP: same-origin-allow-popups assert_equals: opener expected false but got true
+FAIL same-origin-allow-popups with CROSS_ORIGIN iframe opening popup a CROSS_ORIGIN with COOP: same-origin-allow-popups assert_equals: opener expected false but got true
+PASS same-origin-allow-popups with SAME_ORIGIN iframe opening popup a SAME_ORIGIN with COOP: 
+PASS same-origin-allow-popups with SAME_SITE iframe opening popup a SAME_ORIGIN with COOP: 
+PASS same-origin-allow-popups with CROSS_ORIGIN iframe opening popup a SAME_ORIGIN with COOP: 
+PASS same-origin-allow-popups with SAME_ORIGIN iframe opening popup a SAME_SITE with COOP: 
+PASS same-origin-allow-popups with SAME_SITE iframe opening popup a SAME_SITE with COOP: 
+PASS same-origin-allow-popups with CROSS_ORIGIN iframe opening popup a SAME_SITE with COOP: 
+PASS same-origin-allow-popups with SAME_ORIGIN iframe opening popup a CROSS_ORIGIN with COOP: 
+PASS same-origin-allow-popups with SAME_SITE iframe opening popup a CROSS_ORIGIN with COOP: 
+PASS same-origin-allow-popups with CROSS_ORIGIN iframe opening popup a CROSS_ORIGIN with COOP: 
+Harness: the test ran to completion.
+
diff --git a/third_party/blink/web_tests/external/wpt/html/cross-origin-opener-policy/iframe-popup-same-origin-allow-popups.https.html b/third_party/blink/web_tests/external/wpt/html/cross-origin-opener-policy/iframe-popup-same-origin-allow-popups.https.html
new file mode 100644
index 0000000..0c33b40b
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/html/cross-origin-opener-policy/iframe-popup-same-origin-allow-popups.https.html
@@ -0,0 +1,43 @@
+<!doctype html>
+<meta charset=utf-8>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<script src="/common/get-host-info.sub.js"></script>
+<script src="resources/common.js"></script>
+
+<div id=log></div>
+<script>
+[
+[SAME_ORIGIN, SAME_ORIGIN, "same-origin", false, false],
+[SAME_SITE, SAME_ORIGIN, "same-origin", false, false],
+[CROSS_ORIGIN, SAME_ORIGIN, "same-origin", false, false],
+[SAME_ORIGIN, SAME_SITE, "same-origin", false, false],
+[SAME_SITE, SAME_SITE, "same-origin", false, false],
+[CROSS_ORIGIN, SAME_SITE, "same-origin", false, false],
+[SAME_ORIGIN, CROSS_ORIGIN, "same-origin", false, false],
+[SAME_SITE, CROSS_ORIGIN, "same-origin", false, false],
+[CROSS_ORIGIN, CROSS_ORIGIN, "same-origin", false, false],
+[SAME_ORIGIN, SAME_ORIGIN, "same-origin-allow-popups", true, true],
+[SAME_SITE, SAME_ORIGIN, "same-origin-allow-popups", false, false],
+[CROSS_ORIGIN, SAME_ORIGIN, "same-origin-allow-popups", false, false],
+[SAME_ORIGIN, SAME_SITE, "same-origin-allow-popups", false, false],
+[SAME_SITE, SAME_SITE, "same-origin-allow-popups", false, false],
+[CROSS_ORIGIN, SAME_SITE, "same-origin-allow-popups", false, false],
+[SAME_ORIGIN, CROSS_ORIGIN, "same-origin-allow-popups", false, false],
+[SAME_SITE, CROSS_ORIGIN, "same-origin-allow-popups", false, false],
+[CROSS_ORIGIN, CROSS_ORIGIN, "same-origin-allow-popups", false, false],
+[SAME_ORIGIN, SAME_ORIGIN, "", true, true],
+[SAME_SITE, SAME_ORIGIN, "", true, true],
+[CROSS_ORIGIN, SAME_ORIGIN, "", true, true],
+[SAME_ORIGIN, SAME_SITE, "", true, true],
+[SAME_SITE, SAME_SITE, "", true, true],
+[CROSS_ORIGIN, SAME_SITE, "", true, true],
+[SAME_ORIGIN, CROSS_ORIGIN, "", true, true],
+[SAME_SITE, CROSS_ORIGIN, "", true, true],
+[CROSS_ORIGIN, CROSS_ORIGIN, "", true, true],
+].forEach( value => {
+    run_coop_test_iframe("same-origin-allow-popups", value[0], value[1], value[2], value[3], value[4]);
+});
+
+
+</script>
\ No newline at end of file
diff --git a/third_party/blink/web_tests/external/wpt/html/cross-origin-opener-policy/iframe-popup-same-origin-allow-popups.https.html.headers b/third_party/blink/web_tests/external/wpt/html/cross-origin-opener-policy/iframe-popup-same-origin-allow-popups.https.html.headers
new file mode 100644
index 0000000..d83ed86
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/html/cross-origin-opener-policy/iframe-popup-same-origin-allow-popups.https.html.headers
@@ -0,0 +1 @@
+Cross-Origin-Opener-Policy: same-origin-allow-popups
diff --git a/third_party/blink/web_tests/external/wpt/html/cross-origin-opener-policy/iframe-popup-same-origin.https-expected.txt b/third_party/blink/web_tests/external/wpt/html/cross-origin-opener-policy/iframe-popup-same-origin.https-expected.txt
new file mode 100644
index 0000000..fadc943d
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/html/cross-origin-opener-policy/iframe-popup-same-origin.https-expected.txt
@@ -0,0 +1,21 @@
+This is a testharness.js-based test.
+PASS same-origin with SAME_ORIGIN iframe opening popup a SAME_ORIGIN with COOP: same-origin
+PASS same-origin with SAME_SITE iframe opening popup a SAME_ORIGIN with COOP: same-origin
+PASS same-origin with CROSS_ORIGIN iframe opening popup a SAME_ORIGIN with COOP: same-origin
+FAIL same-origin with SAME_ORIGIN iframe opening popup a SAME_SITE with COOP: same-origin assert_equals: opener expected false but got true
+PASS same-origin with SAME_SITE iframe opening popup a SAME_SITE with COOP: same-origin
+PASS same-origin with CROSS_ORIGIN iframe opening popup a SAME_SITE with COOP: same-origin
+FAIL same-origin with SAME_ORIGIN iframe opening popup a CROSS_ORIGIN with COOP: same-origin assert_equals: opener expected false but got true
+PASS same-origin with SAME_SITE iframe opening popup a CROSS_ORIGIN with COOP: same-origin
+PASS same-origin with CROSS_ORIGIN iframe opening popup a CROSS_ORIGIN with COOP: same-origin
+FAIL same-origin with SAME_ORIGIN iframe opening popup a SAME_ORIGIN with COOP:  assert_equals: opener expected false but got true
+PASS same-origin with SAME_SITE iframe opening popup a SAME_ORIGIN with COOP: 
+PASS same-origin with CROSS_ORIGIN iframe opening popup a SAME_ORIGIN with COOP: 
+FAIL same-origin with SAME_ORIGIN iframe opening popup a SAME_SITE with COOP:  assert_equals: opener expected false but got true
+PASS same-origin with SAME_SITE iframe opening popup a SAME_SITE with COOP: 
+PASS same-origin with CROSS_ORIGIN iframe opening popup a SAME_SITE with COOP: 
+FAIL same-origin with SAME_ORIGIN iframe opening popup a CROSS_ORIGIN with COOP:  assert_equals: opener expected false but got true
+PASS same-origin with SAME_SITE iframe opening popup a CROSS_ORIGIN with COOP: 
+PASS same-origin with CROSS_ORIGIN iframe opening popup a CROSS_ORIGIN with COOP: 
+Harness: the test ran to completion.
+
diff --git a/third_party/blink/web_tests/external/wpt/html/cross-origin-opener-policy/iframe-popup-same-origin.https.html b/third_party/blink/web_tests/external/wpt/html/cross-origin-opener-policy/iframe-popup-same-origin.https.html
new file mode 100644
index 0000000..2b7decd
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/html/cross-origin-opener-policy/iframe-popup-same-origin.https.html
@@ -0,0 +1,33 @@
+<!doctype html>
+<meta charset=utf-8>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<script src="/common/get-host-info.sub.js"></script>
+<script src="resources/common.js"></script>
+
+<div id=log></div>
+<script>
+[
+[SAME_ORIGIN, SAME_ORIGIN, "same-origin", true, true],
+[SAME_SITE, SAME_ORIGIN, "same-origin", false, true],
+[CROSS_ORIGIN, SAME_ORIGIN, "same-origin", false, true],
+[SAME_ORIGIN, SAME_SITE, "same-origin", false, false],
+[SAME_SITE, SAME_SITE, "same-origin", false, true],
+[CROSS_ORIGIN, SAME_SITE, "same-origin", false, true],
+[SAME_ORIGIN, CROSS_ORIGIN, "same-origin", false, false],
+[SAME_SITE, CROSS_ORIGIN, "same-origin", false, true],
+[CROSS_ORIGIN, CROSS_ORIGIN, "same-origin", false, true],
+[SAME_ORIGIN, SAME_ORIGIN, "", false, false],
+[SAME_SITE, SAME_ORIGIN, "", false, true],
+[CROSS_ORIGIN, SAME_ORIGIN, "", false, true],
+[SAME_ORIGIN, SAME_SITE, "", false, false],
+[SAME_SITE, SAME_SITE, "", false, true],
+[CROSS_ORIGIN, SAME_SITE, "", false, true],
+[SAME_ORIGIN, CROSS_ORIGIN, "", false, false],
+[SAME_SITE, CROSS_ORIGIN, "", false, true],
+[CROSS_ORIGIN, CROSS_ORIGIN, "", false, true],
+].forEach( value => {
+    run_coop_test_iframe("same-origin", value[0], value[1], value[2], value[3], value[4]);
+});
+
+</script>
\ No newline at end of file
diff --git a/third_party/blink/web_tests/external/wpt/html/cross-origin-opener-policy/iframe-popup-same-origin.https.html.headers b/third_party/blink/web_tests/external/wpt/html/cross-origin-opener-policy/iframe-popup-same-origin.https.html.headers
new file mode 100644
index 0000000..46ad58d
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/html/cross-origin-opener-policy/iframe-popup-same-origin.https.html.headers
@@ -0,0 +1 @@
+Cross-Origin-Opener-Policy: same-origin
diff --git a/third_party/blink/web_tests/external/wpt/html/cross-origin-opener-policy/iframe-popup-unsafe-none.https-expected.txt b/third_party/blink/web_tests/external/wpt/html/cross-origin-opener-policy/iframe-popup-unsafe-none.https-expected.txt
new file mode 100644
index 0000000..4e74c99
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/html/cross-origin-opener-policy/iframe-popup-unsafe-none.https-expected.txt
@@ -0,0 +1,21 @@
+This is a testharness.js-based test.
+FAIL unsafe-none with SAME_ORIGIN iframe opening popup a SAME_ORIGIN with COOP: same-origin assert_equals: opener expected false but got true
+FAIL unsafe-none with SAME_SITE iframe opening popup a SAME_ORIGIN with COOP: same-origin assert_equals: opener expected false but got true
+FAIL unsafe-none with CROSS_ORIGIN iframe opening popup a SAME_ORIGIN with COOP: same-origin assert_equals: opener expected false but got true
+FAIL unsafe-none with SAME_ORIGIN iframe opening popup a SAME_SITE with COOP: same-origin assert_equals: opener expected false but got true
+FAIL unsafe-none with SAME_SITE iframe opening popup a SAME_SITE with COOP: same-origin assert_equals: opener expected false but got true
+FAIL unsafe-none with CROSS_ORIGIN iframe opening popup a SAME_SITE with COOP: same-origin assert_equals: opener expected false but got true
+FAIL unsafe-none with SAME_ORIGIN iframe opening popup a CROSS_ORIGIN with COOP: same-origin assert_equals: opener expected false but got true
+FAIL unsafe-none with SAME_SITE iframe opening popup a CROSS_ORIGIN with COOP: same-origin assert_equals: opener expected false but got true
+FAIL unsafe-none with CROSS_ORIGIN iframe opening popup a CROSS_ORIGIN with COOP: same-origin assert_equals: opener expected false but got true
+PASS unsafe-none with SAME_ORIGIN iframe opening popup a SAME_ORIGIN with COOP: 
+PASS unsafe-none with SAME_SITE iframe opening popup a SAME_ORIGIN with COOP: 
+PASS unsafe-none with CROSS_ORIGIN iframe opening popup a SAME_ORIGIN with COOP: 
+PASS unsafe-none with SAME_ORIGIN iframe opening popup a SAME_SITE with COOP: 
+PASS unsafe-none with SAME_SITE iframe opening popup a SAME_SITE with COOP: 
+PASS unsafe-none with CROSS_ORIGIN iframe opening popup a SAME_SITE with COOP: 
+PASS unsafe-none with SAME_ORIGIN iframe opening popup a CROSS_ORIGIN with COOP: 
+PASS unsafe-none with SAME_SITE iframe opening popup a CROSS_ORIGIN with COOP: 
+PASS unsafe-none with CROSS_ORIGIN iframe opening popup a CROSS_ORIGIN with COOP: 
+Harness: the test ran to completion.
+
diff --git a/third_party/blink/web_tests/external/wpt/html/cross-origin-opener-policy/iframe-popup-unsafe-none.https.html b/third_party/blink/web_tests/external/wpt/html/cross-origin-opener-policy/iframe-popup-unsafe-none.https.html
new file mode 100644
index 0000000..78a18118
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/html/cross-origin-opener-policy/iframe-popup-unsafe-none.https.html
@@ -0,0 +1,33 @@
+<!doctype html>
+<meta charset=utf-8>
+<script src=/resources/testharness.js></script>
+<script src=/resources/testharnessreport.js></script>
+<script src="/common/get-host-info.sub.js"></script>
+<script src="resources/common.js"></script>
+
+<div id=log></div>
+<script>
+[
+[SAME_ORIGIN, SAME_ORIGIN, "same-origin", false, false],
+[SAME_SITE, SAME_ORIGIN, "same-origin", false, false],
+[CROSS_ORIGIN, SAME_ORIGIN, "same-origin", false, false],
+[SAME_ORIGIN, SAME_SITE, "same-origin", false, false],
+[SAME_SITE, SAME_SITE, "same-origin", false, false],
+[CROSS_ORIGIN, SAME_SITE, "same-origin", false, false],
+[SAME_ORIGIN, CROSS_ORIGIN, "same-origin", false, false],
+[SAME_SITE, CROSS_ORIGIN, "same-origin", false, false],
+[CROSS_ORIGIN, CROSS_ORIGIN, "same-origin", false, false],
+[SAME_ORIGIN, SAME_ORIGIN, "", true, true],
+[SAME_SITE, SAME_ORIGIN, "", true, true],
+[CROSS_ORIGIN, SAME_ORIGIN, "", true, true],
+[SAME_ORIGIN, SAME_SITE, "", true, true],
+[SAME_SITE, SAME_SITE, "", true, true],
+[CROSS_ORIGIN, SAME_SITE, "", true, true],
+[SAME_ORIGIN, CROSS_ORIGIN, "", true, true],
+[SAME_SITE, CROSS_ORIGIN, "", true, true],
+[CROSS_ORIGIN, CROSS_ORIGIN, "", true, true],
+].forEach( value => {
+    run_coop_test_iframe("unsafe-none", value[0], value[1], value[2], value[3], value[4]);
+});
+
+</script>
\ No newline at end of file
diff --git a/third_party/blink/web_tests/external/wpt/html/cross-origin-opener-policy/iframe-popup-unsafe-none.https.html.headers b/third_party/blink/web_tests/external/wpt/html/cross-origin-opener-policy/iframe-popup-unsafe-none.https.html.headers
new file mode 100644
index 0000000..073ce7a
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/html/cross-origin-opener-policy/iframe-popup-unsafe-none.https.html.headers
@@ -0,0 +1 @@
+Cross-Origin-Opener-Policy: unsafe-none
diff --git a/third_party/blink/web_tests/external/wpt/html/cross-origin-opener-policy/resources/common.js b/third_party/blink/web_tests/external/wpt/html/cross-origin-opener-policy/resources/common.js
index 477bc6c..59ba33d6 100644
--- a/third_party/blink/web_tests/external/wpt/html/cross-origin-opener-policy/resources/common.js
+++ b/third_party/blink/web_tests/external/wpt/html/cross-origin-opener-policy/resources/common.js
@@ -38,3 +38,23 @@
     }, `${documentCOOPValueTitle} document opening popup to ${test[0].origin} with COOP: "${test[1]}"`);
   }
 }
+
+function run_coop_test_iframe (documentTitle, iframe_origin, popup_origin, popup_coop, expects_opener, expects_name) {
+  const name = iframe_origin.name + "_iframe_opening_" + popup_origin.name + "_popup_with_coop_" + popup_coop;
+  async_test(t => {
+      const frame = document.createElement("iframe");
+      t.add_cleanup(() => { frame.remove(); });
+
+      const origin = CROSS_ORIGIN.origin;
+      const path = new URL("resources/iframe-popup.sub.html", window.location).pathname;
+      const bc = new BroadcastChannel(name);
+      frame.src = `${iframe_origin.origin}${path}?popup_origin=${popup_origin.origin}&popup_coop=${popup_coop}&channel=${name}`;
+
+      bc.onmessage = t.step_func_done(event => {
+              const payload = event.data;
+              assert_equals(payload.opener, expects_opener, 'opener');
+              assert_equals(payload.name, expects_name? name:"", 'name');
+      });
+      document.body.append(frame);
+  }, `${documentTitle} with ${iframe_origin.name} iframe opening popup a ${popup_origin.name} with COOP: ${popup_coop}`);
+}
\ No newline at end of file
diff --git a/third_party/blink/web_tests/external/wpt/html/cross-origin-opener-policy/resources/iframe-popup.sub.html b/third_party/blink/web_tests/external/wpt/html/cross-origin-opener-policy/resources/iframe-popup.sub.html
new file mode 100644
index 0000000..748fd996
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/html/cross-origin-opener-policy/resources/iframe-popup.sub.html
@@ -0,0 +1,11 @@
+<!doctype html>
+<meta charset=utf-8>
+
+<script>
+const popup_origin = new URL(location).searchParams.get("popup_origin");
+const channelName = new URL(location).searchParams.get("channel");
+const popup_coop  = new URL(location).searchParams.get("popup_coop");
+const url = `${popup_origin}/html/cross-origin-opener-policy/resources/coop-coep.py?coop=${encodeURIComponent(popup_coop)}&coep=&channel=${channelName}`;
+
+window.open(url, channelName);
+</script>
diff --git a/third_party/blink/web_tests/external/wpt/lint.whitelist b/third_party/blink/web_tests/external/wpt/lint.whitelist
index 425730fee..1b102e4 100644
--- a/third_party/blink/web_tests/external/wpt/lint.whitelist
+++ b/third_party/blink/web_tests/external/wpt/lint.whitelist
@@ -686,7 +686,7 @@
 LAYOUTTESTS APIS: resources/chromium/webxr-test.js
 LAYOUTTESTS APIS: web-nfc/NDEFReader-document-hidden-manual.https.html
 LAYOUTTESTS APIS: web-nfc/NDEFReader_scan.https.html
-LAYOUTTESTS APIS: web-nfc/NDEFWriter_push.https.html
+LAYOUTTESTS APIS: web-nfc/NDEFWriter_write.https.html
 
 # Signed Exchange files have hard-coded URLs in the certUrl field
 WEB-PLATFORM.TEST:signed-exchange/resources/*.sxg
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/audio-tag/cross-http.keep-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/audio-tag/cross-http.keep-scheme.https.html
index 7c3ca22..e6549e0 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/audio-tag/cross-http.keep-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/audio-tag/cross-http.keep-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Optionally-blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/audio-tag/cross-http.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/audio-tag/cross-http.no-redirect.https.html
index fc39dbd..a5d9f2056 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/audio-tag/cross-http.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/audio-tag/cross-http.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Optionally-blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/audio-tag/cross-http.swap-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/audio-tag/cross-http.swap-scheme.https.html
index 7e4238e..284fe53 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/audio-tag/cross-http.swap-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/audio-tag/cross-http.swap-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Optionally-blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/audio-tag/same-http.keep-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/audio-tag/same-http.keep-scheme.https.html
index 64bc8ad..c95e54a 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/audio-tag/same-http.keep-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/audio-tag/same-http.keep-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Optionally-blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/audio-tag/same-http.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/audio-tag/same-http.no-redirect.https.html
index 9c47757..12e964d5 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/audio-tag/same-http.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/audio-tag/same-http.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Optionally-blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/audio-tag/same-http.swap-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/audio-tag/same-http.swap-scheme.https.html
index a298e3f..8d2b49a 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/audio-tag/same-http.swap-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/audio-tag/same-http.swap-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Optionally-blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/audio-tag/same-https.keep-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/audio-tag/same-https.keep-scheme.https.html
index 7da3e5a..c82f589 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/audio-tag/same-https.keep-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/audio-tag/same-https.keep-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Allowed content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/audio-tag/same-https.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/audio-tag/same-https.no-redirect.https.html
index b193871..d475bbe 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/audio-tag/same-https.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/audio-tag/same-https.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Allowed content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/beacon/cross-http.keep-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/beacon/cross-http.keep-scheme.https.html
index 2604c38..0f4d641 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/beacon/cross-http.keep-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/beacon/cross-http.keep-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/beacon/cross-http.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/beacon/cross-http.no-redirect.https.html
index 8a297d6..5be5db15 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/beacon/cross-http.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/beacon/cross-http.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/beacon/cross-http.swap-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/beacon/cross-http.swap-scheme.https.html
index a9bb4fe..3eefb62 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/beacon/cross-http.swap-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/beacon/cross-http.swap-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/beacon/same-http.keep-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/beacon/same-http.keep-scheme.https.html
index 75d150d..984b353 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/beacon/same-http.keep-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/beacon/same-http.keep-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/beacon/same-http.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/beacon/same-http.no-redirect.https.html
index 8203cb7..46234a7 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/beacon/same-http.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/beacon/same-http.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/beacon/same-http.swap-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/beacon/same-http.swap-scheme.https.html
index 54114ff..27b956e 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/beacon/same-http.swap-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/beacon/same-http.swap-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/beacon/same-https.keep-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/beacon/same-https.keep-scheme.https.html
index 9a7cc11..52f3cb9 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/beacon/same-https.keep-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/beacon/same-https.keep-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Allowed content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/beacon/same-https.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/beacon/same-https.no-redirect.https.html
index 86c56bd..303e047 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/beacon/same-https.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/beacon/same-https.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Allowed content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/fetch/cross-http.keep-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/fetch/cross-http.keep-scheme.https.html
index d98fee3b..ea969778 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/fetch/cross-http.keep-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/fetch/cross-http.keep-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/fetch/cross-http.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/fetch/cross-http.no-redirect.https.html
index 6f111d1..8a29645 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/fetch/cross-http.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/fetch/cross-http.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/fetch/cross-http.swap-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/fetch/cross-http.swap-scheme.https.html
index 0b35f8b6..c080c346 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/fetch/cross-http.swap-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/fetch/cross-http.swap-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/fetch/same-http.keep-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/fetch/same-http.keep-scheme.https.html
index b96a212..ea9c18d6 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/fetch/same-http.keep-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/fetch/same-http.keep-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/fetch/same-http.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/fetch/same-http.no-redirect.https.html
index 280a9cd..dfbd7944 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/fetch/same-http.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/fetch/same-http.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/fetch/same-http.swap-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/fetch/same-http.swap-scheme.https.html
index a9063e4..2e6296c 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/fetch/same-http.swap-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/fetch/same-http.swap-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/fetch/same-https.keep-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/fetch/same-https.keep-scheme.https.html
index 4e2f750f..34f1b726 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/fetch/same-https.keep-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/fetch/same-https.keep-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Allowed content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/fetch/same-https.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/fetch/same-https.no-redirect.https.html
index 74817ec7..71a29f3 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/fetch/same-https.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/fetch/same-https.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Allowed content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/img-tag/cross-http.keep-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/img-tag/cross-http.keep-scheme.https.html
index 4418c78d..58b9064 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/img-tag/cross-http.keep-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/img-tag/cross-http.keep-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Optionally-blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/img-tag/cross-http.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/img-tag/cross-http.no-redirect.https.html
index d2c26b9..45b8247 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/img-tag/cross-http.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/img-tag/cross-http.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Optionally-blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/img-tag/cross-http.swap-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/img-tag/cross-http.swap-scheme.https.html
index 30ab7af..1a9e874 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/img-tag/cross-http.swap-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/img-tag/cross-http.swap-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Optionally-blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/img-tag/same-http.keep-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/img-tag/same-http.keep-scheme.https.html
index 36191f72..459eb2c 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/img-tag/same-http.keep-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/img-tag/same-http.keep-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Optionally-blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/img-tag/same-http.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/img-tag/same-http.no-redirect.https.html
index 8cdd95bf..e499272 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/img-tag/same-http.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/img-tag/same-http.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Optionally-blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/img-tag/same-http.swap-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/img-tag/same-http.swap-scheme.https.html
index 62a3562a..388e531 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/img-tag/same-http.swap-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/img-tag/same-http.swap-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Optionally-blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/img-tag/same-https.keep-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/img-tag/same-https.keep-scheme.https.html
index d8687bd..83297b9 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/img-tag/same-https.keep-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/img-tag/same-https.keep-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Allowed content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/img-tag/same-https.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/img-tag/same-https.no-redirect.https.html
index ffa2e47..951b0aa 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/img-tag/same-https.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/img-tag/same-https.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Allowed content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/link-css-tag/cross-http.keep-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/link-css-tag/cross-http.keep-scheme.https.html
index 7ee41857..4ca29b6 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/link-css-tag/cross-http.keep-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/link-css-tag/cross-http.keep-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/link-css-tag/cross-http.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/link-css-tag/cross-http.no-redirect.https.html
index be00ef5d..edcf944 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/link-css-tag/cross-http.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/link-css-tag/cross-http.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/link-css-tag/cross-http.swap-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/link-css-tag/cross-http.swap-scheme.https.html
index 9bed22b..c408c72 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/link-css-tag/cross-http.swap-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/link-css-tag/cross-http.swap-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/link-css-tag/same-http.keep-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/link-css-tag/same-http.keep-scheme.https.html
index 3849927..6eabfab 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/link-css-tag/same-http.keep-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/link-css-tag/same-http.keep-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/link-css-tag/same-http.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/link-css-tag/same-http.no-redirect.https.html
index cdde11b..4f823de2 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/link-css-tag/same-http.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/link-css-tag/same-http.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/link-css-tag/same-http.swap-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/link-css-tag/same-http.swap-scheme.https.html
index e9bcc9e..96a08a13 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/link-css-tag/same-http.swap-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/link-css-tag/same-http.swap-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/link-css-tag/same-https.keep-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/link-css-tag/same-https.keep-scheme.https.html
index 493d92e..8f3414e 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/link-css-tag/same-https.keep-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/link-css-tag/same-https.keep-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Allowed content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/link-css-tag/same-https.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/link-css-tag/same-https.no-redirect.https.html
index 69ab08e..b9b3a61 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/link-css-tag/same-https.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/link-css-tag/same-https.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Allowed content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/link-prefetch-tag/cross-http.keep-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/link-prefetch-tag/cross-http.keep-scheme.https.html
index 30594cc..cd95c8c3 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/link-prefetch-tag/cross-http.keep-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/link-prefetch-tag/cross-http.keep-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/link-prefetch-tag/cross-http.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/link-prefetch-tag/cross-http.no-redirect.https.html
index 533309e..a21b7188 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/link-prefetch-tag/cross-http.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/link-prefetch-tag/cross-http.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/link-prefetch-tag/cross-http.swap-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/link-prefetch-tag/cross-http.swap-scheme.https.html
index 5f8ce10..99483c3 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/link-prefetch-tag/cross-http.swap-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/link-prefetch-tag/cross-http.swap-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/link-prefetch-tag/same-http.keep-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/link-prefetch-tag/same-http.keep-scheme.https.html
index 076ecb83..60205080 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/link-prefetch-tag/same-http.keep-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/link-prefetch-tag/same-http.keep-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/link-prefetch-tag/same-http.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/link-prefetch-tag/same-http.no-redirect.https.html
index 534d3a1..8b671426 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/link-prefetch-tag/same-http.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/link-prefetch-tag/same-http.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/link-prefetch-tag/same-http.swap-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/link-prefetch-tag/same-http.swap-scheme.https.html
index cd87071..29a0d46 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/link-prefetch-tag/same-http.swap-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/link-prefetch-tag/same-http.swap-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/link-prefetch-tag/same-https.keep-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/link-prefetch-tag/same-https.keep-scheme.https.html
index 1f1b6d1..0ba438e 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/link-prefetch-tag/same-https.keep-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/link-prefetch-tag/same-https.keep-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Allowed content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/link-prefetch-tag/same-https.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/link-prefetch-tag/same-https.no-redirect.https.html
index f8cf49f..555c5348 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/link-prefetch-tag/same-https.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/link-prefetch-tag/same-https.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Allowed content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/object-tag/cross-http.keep-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/object-tag/cross-http.keep-scheme.https.html
index de3c2ca..828db98 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/object-tag/cross-http.keep-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/object-tag/cross-http.keep-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/object-tag/cross-http.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/object-tag/cross-http.no-redirect.https.html
index ee9625d..1dace19 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/object-tag/cross-http.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/object-tag/cross-http.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/object-tag/cross-http.swap-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/object-tag/cross-http.swap-scheme.https.html
index ab0a387..30b3c5b 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/object-tag/cross-http.swap-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/object-tag/cross-http.swap-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/object-tag/same-http.keep-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/object-tag/same-http.keep-scheme.https.html
index edbb3f9f..ec9eb5b8 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/object-tag/same-http.keep-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/object-tag/same-http.keep-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/object-tag/same-http.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/object-tag/same-http.no-redirect.https.html
index 72ae7e5..4fb39de 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/object-tag/same-http.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/object-tag/same-http.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/object-tag/same-http.swap-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/object-tag/same-http.swap-scheme.https.html
index fb969da..01676bab 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/object-tag/same-http.swap-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/object-tag/same-http.swap-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/object-tag/same-https.keep-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/object-tag/same-https.keep-scheme.https.html
index c537a64..ac1e853 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/object-tag/same-https.keep-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/object-tag/same-https.keep-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Allowed content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/object-tag/same-https.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/object-tag/same-https.no-redirect.https.html
index ea3e82a..e248122e 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/object-tag/same-https.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/object-tag/same-https.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Allowed content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/picture-tag/cross-http.keep-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/picture-tag/cross-http.keep-scheme.https.html
index 6ad20e5..6417081f 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/picture-tag/cross-http.keep-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/picture-tag/cross-http.keep-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/picture-tag/cross-http.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/picture-tag/cross-http.no-redirect.https.html
index 533eb0b..2c3f9e1 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/picture-tag/cross-http.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/picture-tag/cross-http.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/picture-tag/cross-http.swap-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/picture-tag/cross-http.swap-scheme.https.html
index 6c531f3..886e6ef 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/picture-tag/cross-http.swap-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/picture-tag/cross-http.swap-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/picture-tag/same-http.keep-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/picture-tag/same-http.keep-scheme.https.html
index d46d6f4..7528903 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/picture-tag/same-http.keep-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/picture-tag/same-http.keep-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/picture-tag/same-http.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/picture-tag/same-http.no-redirect.https.html
index 981d6c5..52a421f 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/picture-tag/same-http.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/picture-tag/same-http.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/picture-tag/same-http.swap-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/picture-tag/same-http.swap-scheme.https.html
index 68233cd..26ed43ec 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/picture-tag/same-http.swap-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/picture-tag/same-http.swap-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/picture-tag/same-https.keep-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/picture-tag/same-https.keep-scheme.https.html
index e702aef..6d10711 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/picture-tag/same-https.keep-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/picture-tag/same-https.keep-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Allowed content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/picture-tag/same-https.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/picture-tag/same-https.no-redirect.https.html
index b26d44d..fe4da56 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/picture-tag/same-https.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/picture-tag/same-https.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Allowed content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/script-tag/cross-http.keep-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/script-tag/cross-http.keep-scheme.https.html
index 727fc11..a5f903c 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/script-tag/cross-http.keep-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/script-tag/cross-http.keep-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/script-tag/cross-http.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/script-tag/cross-http.no-redirect.https.html
index 9b416e8..f3594a9c 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/script-tag/cross-http.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/script-tag/cross-http.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/script-tag/cross-http.swap-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/script-tag/cross-http.swap-scheme.https.html
index fd6c3be8..1933b37 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/script-tag/cross-http.swap-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/script-tag/cross-http.swap-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/script-tag/same-http.keep-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/script-tag/same-http.keep-scheme.https.html
index 479be78..bfc3391 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/script-tag/same-http.keep-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/script-tag/same-http.keep-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/script-tag/same-http.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/script-tag/same-http.no-redirect.https.html
index c3297719..712f802 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/script-tag/same-http.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/script-tag/same-http.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/script-tag/same-http.swap-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/script-tag/same-http.swap-scheme.https.html
index ba13e68..c707287 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/script-tag/same-http.swap-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/script-tag/same-http.swap-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/script-tag/same-https.keep-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/script-tag/same-https.keep-scheme.https.html
index 01b3760..d58c20a04 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/script-tag/same-https.keep-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/script-tag/same-https.keep-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Allowed content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/script-tag/same-https.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/script-tag/same-https.no-redirect.https.html
index 7d240ec..3d296650 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/script-tag/same-https.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/script-tag/same-https.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Allowed content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/video-tag/cross-http.keep-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/video-tag/cross-http.keep-scheme.https.html
index 8eca0a7..8c6b5a9 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/video-tag/cross-http.keep-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/video-tag/cross-http.keep-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Optionally-blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/video-tag/cross-http.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/video-tag/cross-http.no-redirect.https.html
index 1141cca..8663d09 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/video-tag/cross-http.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/video-tag/cross-http.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Optionally-blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/video-tag/cross-http.swap-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/video-tag/cross-http.swap-scheme.https.html
index d926f5e..89256a2 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/video-tag/cross-http.swap-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/video-tag/cross-http.swap-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Optionally-blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/video-tag/same-http.keep-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/video-tag/same-http.keep-scheme.https.html
index e82185a..00ad710 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/video-tag/same-http.keep-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/video-tag/same-http.keep-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Optionally-blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/video-tag/same-http.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/video-tag/same-http.no-redirect.https.html
index ed12292..da39ce6 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/video-tag/same-http.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/video-tag/same-http.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Optionally-blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/video-tag/same-http.swap-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/video-tag/same-http.swap-scheme.https.html
index 5c5377d..d7b69eb 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/video-tag/same-http.swap-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/video-tag/same-http.swap-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Optionally-blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/video-tag/same-https.keep-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/video-tag/same-https.keep-scheme.https.html
index 79b3c0a..89f1f67 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/video-tag/same-https.keep-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/video-tag/same-https.keep-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Allowed content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/video-tag/same-https.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/video-tag/same-https.no-redirect.https.html
index c2c7f87..2860df2 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/video-tag/same-https.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/video-tag/same-https.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Allowed content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/websocket/cross-ws.keep-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/websocket/cross-ws.keep-scheme.https.html
index 18ec117..1c5302b 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/websocket/cross-ws.keep-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/websocket/cross-ws.keep-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/websocket/cross-ws.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/websocket/cross-ws.no-redirect.https.html
index 1673464..8437326 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/websocket/cross-ws.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/websocket/cross-ws.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/websocket/cross-ws.swap-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/websocket/cross-ws.swap-scheme.https.html
index bd8d6fd..92fd464 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/websocket/cross-ws.swap-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/websocket/cross-ws.swap-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/websocket/same-ws.keep-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/websocket/same-ws.keep-scheme.https.html
index b5080134..ac11208 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/websocket/same-ws.keep-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/websocket/same-ws.keep-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/websocket/same-ws.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/websocket/same-ws.no-redirect.https.html
index 9f168b08..967445ee 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/websocket/same-ws.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/websocket/same-ws.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/websocket/same-ws.swap-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/websocket/same-ws.swap-scheme.https.html
index 2444537..273712a 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/websocket/same-ws.swap-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/websocket/same-ws.swap-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/websocket/same-wss.keep-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/websocket/same-wss.keep-scheme.https.html
index b397c4e..4761917 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/websocket/same-wss.keep-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/websocket/same-wss.keep-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Allowed content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/websocket/same-wss.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/websocket/same-wss.no-redirect.https.html
index d19674d..ed5c0ab8 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/websocket/same-wss.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/websocket/same-wss.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Allowed content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worker-classic/cross-http.keep-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worker-classic/cross-http.keep-scheme.https.html
index 85290c1..8a915c29 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worker-classic/cross-http.keep-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worker-classic/cross-http.keep-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worker-classic/cross-http.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worker-classic/cross-http.no-redirect.https.html
index 0e125bc..5aabf75 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worker-classic/cross-http.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worker-classic/cross-http.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worker-classic/cross-http.swap-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worker-classic/cross-http.swap-scheme.https.html
index b92b11d..90c204d 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worker-classic/cross-http.swap-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worker-classic/cross-http.swap-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worker-classic/same-http.keep-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worker-classic/same-http.keep-scheme.https.html
index 213cf96..93668db 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worker-classic/same-http.keep-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worker-classic/same-http.keep-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worker-classic/same-http.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worker-classic/same-http.no-redirect.https.html
index 5ec4866..8521e37 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worker-classic/same-http.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worker-classic/same-http.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worker-classic/same-http.swap-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worker-classic/same-http.swap-scheme.https.html
index c75044d4..d5f79ad 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worker-classic/same-http.swap-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worker-classic/same-http.swap-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worker-classic/same-https.keep-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worker-classic/same-https.keep-scheme.https.html
index 5c5d73b..042bd14 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worker-classic/same-https.keep-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worker-classic/same-https.keep-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Allowed content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worker-classic/same-https.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worker-classic/same-https.no-redirect.https.html
index 4aa31ce5..05b13b6 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worker-classic/same-https.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worker-classic/same-https.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Allowed content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worker-import-data/cross-http.keep-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worker-import-data/cross-http.keep-scheme.https.html
index adba877..60963f9 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worker-import-data/cross-http.keep-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worker-import-data/cross-http.keep-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worker-import-data/cross-http.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worker-import-data/cross-http.no-redirect.https.html
index 7b54a33..7ced3b8 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worker-import-data/cross-http.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worker-import-data/cross-http.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worker-import-data/cross-http.swap-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worker-import-data/cross-http.swap-scheme.https.html
index 57d144ab..15711a9 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worker-import-data/cross-http.swap-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worker-import-data/cross-http.swap-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worker-import-data/same-http.keep-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worker-import-data/same-http.keep-scheme.https.html
index cb127cf..4a1d376 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worker-import-data/same-http.keep-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worker-import-data/same-http.keep-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worker-import-data/same-http.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worker-import-data/same-http.no-redirect.https.html
index 768fd4c..b8c53ba 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worker-import-data/same-http.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worker-import-data/same-http.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worker-import-data/same-http.swap-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worker-import-data/same-http.swap-scheme.https.html
index 736f6bc..be403a89 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worker-import-data/same-http.swap-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worker-import-data/same-http.swap-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worker-import-data/same-https.keep-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worker-import-data/same-https.keep-scheme.https.html
index 5be23a03..06a8f47a 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worker-import-data/same-https.keep-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worker-import-data/same-https.keep-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Allowed content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worker-import-data/same-https.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worker-import-data/same-https.no-redirect.https.html
index 858a1528..211bd0d 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worker-import-data/same-https.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worker-import-data/same-https.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Allowed content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worker-module/cross-http.keep-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worker-module/cross-http.keep-scheme.https.html
index a1e6f61..69dcfb7e 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worker-module/cross-http.keep-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worker-module/cross-http.keep-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worker-module/cross-http.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worker-module/cross-http.no-redirect.https.html
index a95d206..816e344 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worker-module/cross-http.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worker-module/cross-http.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worker-module/cross-http.swap-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worker-module/cross-http.swap-scheme.https.html
index c396cdc..9e167de1 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worker-module/cross-http.swap-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worker-module/cross-http.swap-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worker-module/same-http.keep-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worker-module/same-http.keep-scheme.https.html
index 20414a3d..75e103e 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worker-module/same-http.keep-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worker-module/same-http.keep-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worker-module/same-http.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worker-module/same-http.no-redirect.https.html
index 9397a35..f9e963d 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worker-module/same-http.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worker-module/same-http.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worker-module/same-http.swap-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worker-module/same-http.swap-scheme.https.html
index 0340366..f0397f11 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worker-module/same-http.swap-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worker-module/same-http.swap-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worker-module/same-https.keep-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worker-module/same-https.keep-scheme.https.html
index da0e808..b81758e 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worker-module/same-https.keep-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worker-module/same-https.keep-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Allowed content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worker-module/same-https.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worker-module/same-https.no-redirect.https.html
index a009215..a7399e2d 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worker-module/same-https.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worker-module/same-https.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Allowed content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-animation-import-data/cross-http.keep-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-animation-import-data/cross-http.keep-scheme.https.html
index 0271fd3..1c26e0c 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-animation-import-data/cross-http.keep-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-animation-import-data/cross-http.keep-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-animation-import-data/cross-http.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-animation-import-data/cross-http.no-redirect.https.html
index 2a1158bb..3ba399bb 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-animation-import-data/cross-http.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-animation-import-data/cross-http.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-animation-import-data/cross-http.swap-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-animation-import-data/cross-http.swap-scheme.https.html
index d9f4916b..b5950d9 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-animation-import-data/cross-http.swap-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-animation-import-data/cross-http.swap-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-animation-import-data/same-http.keep-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-animation-import-data/same-http.keep-scheme.https.html
index 5258084..b9a80c0 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-animation-import-data/same-http.keep-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-animation-import-data/same-http.keep-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-animation-import-data/same-http.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-animation-import-data/same-http.no-redirect.https.html
index 437db2c8..1b2f858a 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-animation-import-data/same-http.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-animation-import-data/same-http.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-animation-import-data/same-http.swap-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-animation-import-data/same-http.swap-scheme.https.html
index 48fb79a3..6c8e517 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-animation-import-data/same-http.swap-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-animation-import-data/same-http.swap-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-animation-import-data/same-https.keep-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-animation-import-data/same-https.keep-scheme.https.html
index 49a5222c..403fc34 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-animation-import-data/same-https.keep-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-animation-import-data/same-https.keep-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Allowed content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-animation-import-data/same-https.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-animation-import-data/same-https.no-redirect.https.html
index b111698b..89f4bd6 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-animation-import-data/same-https.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-animation-import-data/same-https.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Allowed content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-animation/cross-http.keep-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-animation/cross-http.keep-scheme.https.html
index 5973cc7..a2eff5f 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-animation/cross-http.keep-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-animation/cross-http.keep-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-animation/cross-http.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-animation/cross-http.no-redirect.https.html
index 6f8ec890..d778e5c 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-animation/cross-http.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-animation/cross-http.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-animation/cross-http.swap-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-animation/cross-http.swap-scheme.https.html
index 21e8ec6..23b98c3 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-animation/cross-http.swap-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-animation/cross-http.swap-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-animation/same-http.keep-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-animation/same-http.keep-scheme.https.html
index 9f57d2e8..c35a70d 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-animation/same-http.keep-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-animation/same-http.keep-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-animation/same-http.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-animation/same-http.no-redirect.https.html
index 0e4e5da..b462349 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-animation/same-http.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-animation/same-http.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-animation/same-http.swap-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-animation/same-http.swap-scheme.https.html
index 97a512f..fcb0b175 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-animation/same-http.swap-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-animation/same-http.swap-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-animation/same-https.keep-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-animation/same-https.keep-scheme.https.html
index 91ef446..1afc5a26 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-animation/same-https.keep-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-animation/same-https.keep-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Allowed content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-animation/same-https.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-animation/same-https.no-redirect.https.html
index a5f042be..ed789224 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-animation/same-https.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-animation/same-https.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Allowed content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-audio-import-data/cross-http.keep-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-audio-import-data/cross-http.keep-scheme.https.html
index 6e8da756..fedb12fc 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-audio-import-data/cross-http.keep-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-audio-import-data/cross-http.keep-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-audio-import-data/cross-http.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-audio-import-data/cross-http.no-redirect.https.html
index 32fa1640..657ed84 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-audio-import-data/cross-http.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-audio-import-data/cross-http.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-audio-import-data/cross-http.swap-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-audio-import-data/cross-http.swap-scheme.https.html
index 9fab4e2..1ccb5f3 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-audio-import-data/cross-http.swap-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-audio-import-data/cross-http.swap-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-audio-import-data/same-http.keep-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-audio-import-data/same-http.keep-scheme.https.html
index 81a971b..caa5f4b 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-audio-import-data/same-http.keep-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-audio-import-data/same-http.keep-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-audio-import-data/same-http.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-audio-import-data/same-http.no-redirect.https.html
index 5d434c0..7bf0db1 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-audio-import-data/same-http.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-audio-import-data/same-http.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-audio-import-data/same-http.swap-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-audio-import-data/same-http.swap-scheme.https.html
index 431caad..4a91a21 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-audio-import-data/same-http.swap-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-audio-import-data/same-http.swap-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-audio-import-data/same-https.keep-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-audio-import-data/same-https.keep-scheme.https.html
index e569aca..d7d0f8c 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-audio-import-data/same-https.keep-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-audio-import-data/same-https.keep-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Allowed content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-audio-import-data/same-https.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-audio-import-data/same-https.no-redirect.https.html
index 00a1085..78472a9 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-audio-import-data/same-https.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-audio-import-data/same-https.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Allowed content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-audio/cross-http.keep-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-audio/cross-http.keep-scheme.https.html
index 1f4d8e6..2cbded7 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-audio/cross-http.keep-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-audio/cross-http.keep-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-audio/cross-http.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-audio/cross-http.no-redirect.https.html
index 4027b3e..4e75da9 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-audio/cross-http.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-audio/cross-http.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-audio/cross-http.swap-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-audio/cross-http.swap-scheme.https.html
index 90d4553b..98faf005 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-audio/cross-http.swap-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-audio/cross-http.swap-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-audio/same-http.keep-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-audio/same-http.keep-scheme.https.html
index 81bffa4..4da5197 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-audio/same-http.keep-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-audio/same-http.keep-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-audio/same-http.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-audio/same-http.no-redirect.https.html
index 31e123c..7095622 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-audio/same-http.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-audio/same-http.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-audio/same-http.swap-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-audio/same-http.swap-scheme.https.html
index ae01e10..991ddf81 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-audio/same-http.swap-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-audio/same-http.swap-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-audio/same-https.keep-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-audio/same-https.keep-scheme.https.html
index 131bfeb1..f199071 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-audio/same-https.keep-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-audio/same-https.keep-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Allowed content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-audio/same-https.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-audio/same-https.no-redirect.https.html
index 96e0e30..76b119d 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-audio/same-https.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-audio/same-https.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Allowed content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-layout-import-data/cross-http.keep-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-layout-import-data/cross-http.keep-scheme.https.html
index d6de7f78..4f5d2f60 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-layout-import-data/cross-http.keep-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-layout-import-data/cross-http.keep-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-layout-import-data/cross-http.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-layout-import-data/cross-http.no-redirect.https.html
index 5109c5b..09aa7897 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-layout-import-data/cross-http.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-layout-import-data/cross-http.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-layout-import-data/cross-http.swap-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-layout-import-data/cross-http.swap-scheme.https.html
index 9e0eac10..345d3d60 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-layout-import-data/cross-http.swap-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-layout-import-data/cross-http.swap-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-layout-import-data/same-http.keep-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-layout-import-data/same-http.keep-scheme.https.html
index 8c1d39e2..529c85c 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-layout-import-data/same-http.keep-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-layout-import-data/same-http.keep-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-layout-import-data/same-http.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-layout-import-data/same-http.no-redirect.https.html
index da24a8a..ff88cbd4 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-layout-import-data/same-http.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-layout-import-data/same-http.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-layout-import-data/same-http.swap-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-layout-import-data/same-http.swap-scheme.https.html
index 7ec5888..5fd88554 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-layout-import-data/same-http.swap-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-layout-import-data/same-http.swap-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-layout-import-data/same-https.keep-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-layout-import-data/same-https.keep-scheme.https.html
index 0609fa8..f834427 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-layout-import-data/same-https.keep-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-layout-import-data/same-https.keep-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Allowed content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-layout-import-data/same-https.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-layout-import-data/same-https.no-redirect.https.html
index a55cbc2..06138a3 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-layout-import-data/same-https.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-layout-import-data/same-https.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Allowed content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-layout/cross-http.keep-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-layout/cross-http.keep-scheme.https.html
index e96a064..4bec395 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-layout/cross-http.keep-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-layout/cross-http.keep-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-layout/cross-http.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-layout/cross-http.no-redirect.https.html
index 9367a0e..5a98e96 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-layout/cross-http.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-layout/cross-http.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-layout/cross-http.swap-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-layout/cross-http.swap-scheme.https.html
index 5dc4ebc..e4ebe6ee 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-layout/cross-http.swap-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-layout/cross-http.swap-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-layout/same-http.keep-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-layout/same-http.keep-scheme.https.html
index d2840c5..bee7880 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-layout/same-http.keep-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-layout/same-http.keep-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-layout/same-http.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-layout/same-http.no-redirect.https.html
index b3b9c49..18102d6 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-layout/same-http.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-layout/same-http.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-layout/same-http.swap-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-layout/same-http.swap-scheme.https.html
index ef03e297..5b9ae88 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-layout/same-http.swap-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-layout/same-http.swap-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-layout/same-https.keep-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-layout/same-https.keep-scheme.https.html
index fc92036..a2211cf1 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-layout/same-https.keep-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-layout/same-https.keep-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Allowed content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-layout/same-https.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-layout/same-https.no-redirect.https.html
index 45dfa55e..c16b9831 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-layout/same-https.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-layout/same-https.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Allowed content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-paint-import-data/cross-http.keep-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-paint-import-data/cross-http.keep-scheme.https.html
index e881494b9..a483e48 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-paint-import-data/cross-http.keep-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-paint-import-data/cross-http.keep-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-paint-import-data/cross-http.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-paint-import-data/cross-http.no-redirect.https.html
index afca801..de0e2d3 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-paint-import-data/cross-http.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-paint-import-data/cross-http.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-paint-import-data/cross-http.swap-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-paint-import-data/cross-http.swap-scheme.https.html
index 582221b..bcc80e96 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-paint-import-data/cross-http.swap-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-paint-import-data/cross-http.swap-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-paint-import-data/same-http.keep-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-paint-import-data/same-http.keep-scheme.https.html
index fb9a3a4..8767eb58 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-paint-import-data/same-http.keep-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-paint-import-data/same-http.keep-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-paint-import-data/same-http.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-paint-import-data/same-http.no-redirect.https.html
index 1c5ac97..a4dffc0 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-paint-import-data/same-http.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-paint-import-data/same-http.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-paint-import-data/same-http.swap-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-paint-import-data/same-http.swap-scheme.https.html
index ff4a8e8..5242d8e 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-paint-import-data/same-http.swap-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-paint-import-data/same-http.swap-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-paint-import-data/same-https.keep-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-paint-import-data/same-https.keep-scheme.https.html
index cc89ca59..b1814df 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-paint-import-data/same-https.keep-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-paint-import-data/same-https.keep-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Allowed content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-paint-import-data/same-https.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-paint-import-data/same-https.no-redirect.https.html
index f61e2d79..14fa0ff 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-paint-import-data/same-https.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-paint-import-data/same-https.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Allowed content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-paint/cross-http.keep-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-paint/cross-http.keep-scheme.https.html
index 8ba634d1..b8a19cc 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-paint/cross-http.keep-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-paint/cross-http.keep-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-paint/cross-http.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-paint/cross-http.no-redirect.https.html
index 216be7f..01dac7c 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-paint/cross-http.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-paint/cross-http.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-paint/cross-http.swap-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-paint/cross-http.swap-scheme.https.html
index 1340df6..92eea339 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-paint/cross-http.swap-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-paint/cross-http.swap-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-paint/same-http.keep-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-paint/same-http.keep-scheme.https.html
index a4ff29a..88bf23e 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-paint/same-http.keep-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-paint/same-http.keep-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-paint/same-http.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-paint/same-http.no-redirect.https.html
index 884c5634..037008e 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-paint/same-http.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-paint/same-http.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-paint/same-http.swap-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-paint/same-http.swap-scheme.https.html
index bd6fcbbb..c758770 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-paint/same-http.swap-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-paint/same-http.swap-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-paint/same-https.keep-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-paint/same-https.keep-scheme.https.html
index a6b1861..337c8745 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-paint/same-https.keep-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-paint/same-https.keep-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Allowed content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-paint/same-https.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-paint/same-https.no-redirect.https.html
index 6ddc092..053785ee 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-paint/same-https.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/worklet-paint/same-https.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Allowed content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/xhr/cross-http.keep-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/xhr/cross-http.keep-scheme.https.html
index 9ff477c..6d53b026 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/xhr/cross-http.keep-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/xhr/cross-http.keep-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/xhr/cross-http.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/xhr/cross-http.no-redirect.https.html
index fbfb8fb..963c4196 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/xhr/cross-http.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/xhr/cross-http.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/xhr/cross-http.swap-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/xhr/cross-http.swap-scheme.https.html
index fa55bdbe..17eec14 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/xhr/cross-http.swap-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/xhr/cross-http.swap-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/xhr/same-http.keep-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/xhr/same-http.keep-scheme.https.html
index 8522fa3..792a290 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/xhr/same-http.keep-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/xhr/same-http.keep-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/xhr/same-http.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/xhr/same-http.no-redirect.https.html
index 1668b85..2feee7b 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/xhr/same-http.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/xhr/same-http.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/xhr/same-http.swap-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/xhr/same-http.swap-scheme.https.html
index 98ed3608..a976fc10 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/xhr/same-http.swap-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/xhr/same-http.swap-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/xhr/same-https.keep-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/xhr/same-https.keep-scheme.https.html
index e05e09b..cab77fe 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/xhr/same-https.keep-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/xhr/same-https.keep-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Allowed content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/xhr/same-https.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/xhr/same-https.no-redirect.https.html
index 0c58b6aa..b9bc0f4 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/xhr/same-https.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.http-rp/opt-in/xhr/same-https.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Allowed content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/audio-tag/cross-http.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/audio-tag/cross-http.no-redirect.https.html
index 41a6ca4..d0c3456 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/audio-tag/cross-http.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/audio-tag/cross-http.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Optionally-blockable content</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/audio-tag/same-http.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/audio-tag/same-http.no-redirect.https.html
index d1c7fe9..eea7de1 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/audio-tag/same-http.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/audio-tag/same-http.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Optionally-blockable content</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/audio-tag/same-https.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/audio-tag/same-https.no-redirect.https.html
index 0e29720..76a3017 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/audio-tag/same-https.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/audio-tag/same-https.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Allowed content</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/beacon/cross-http.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/beacon/cross-http.no-redirect.https.html
index 75f0e66..a9fe9a5 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/beacon/cross-http.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/beacon/cross-http.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/beacon/same-http.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/beacon/same-http.no-redirect.https.html
index c0a9504..2ab2f874 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/beacon/same-http.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/beacon/same-http.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/beacon/same-https.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/beacon/same-https.no-redirect.https.html
index 4443ddbf..7596600 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/beacon/same-https.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/beacon/same-https.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Allowed content</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/fetch/cross-http.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/fetch/cross-http.no-redirect.https.html
index 7d90393..4d34944 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/fetch/cross-http.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/fetch/cross-http.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/fetch/same-http.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/fetch/same-http.no-redirect.https.html
index 2842dc4..def5709 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/fetch/same-http.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/fetch/same-http.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/fetch/same-https.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/fetch/same-https.no-redirect.https.html
index 7c9a29f..154c05f6 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/fetch/same-https.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/fetch/same-https.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Allowed content</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/img-tag/cross-http.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/img-tag/cross-http.no-redirect.https.html
index 646f07032..942a32b9 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/img-tag/cross-http.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/img-tag/cross-http.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Optionally-blockable content</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/img-tag/same-http.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/img-tag/same-http.no-redirect.https.html
index 1d3ad73..eaadb43 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/img-tag/same-http.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/img-tag/same-http.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Optionally-blockable content</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/img-tag/same-https.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/img-tag/same-https.no-redirect.https.html
index 33f3c0c..8db9f5f 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/img-tag/same-https.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/img-tag/same-https.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Allowed content</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/link-css-tag/cross-http.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/link-css-tag/cross-http.no-redirect.https.html
index fd88ca3..f6871666 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/link-css-tag/cross-http.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/link-css-tag/cross-http.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/link-css-tag/same-http.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/link-css-tag/same-http.no-redirect.https.html
index 26cd1cd..6dada36 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/link-css-tag/same-http.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/link-css-tag/same-http.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/link-css-tag/same-https.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/link-css-tag/same-https.no-redirect.https.html
index ac7d84c..ca9e6bd 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/link-css-tag/same-https.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/link-css-tag/same-https.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Allowed content</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/link-prefetch-tag/cross-http.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/link-prefetch-tag/cross-http.no-redirect.https.html
index 9b666e0..a613a1c 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/link-prefetch-tag/cross-http.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/link-prefetch-tag/cross-http.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/link-prefetch-tag/same-http.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/link-prefetch-tag/same-http.no-redirect.https.html
index 8b091cf8..8af3504 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/link-prefetch-tag/same-http.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/link-prefetch-tag/same-http.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/link-prefetch-tag/same-https.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/link-prefetch-tag/same-https.no-redirect.https.html
index 0ab7296..c832f319 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/link-prefetch-tag/same-https.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/link-prefetch-tag/same-https.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Allowed content</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/object-tag/cross-http.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/object-tag/cross-http.no-redirect.https.html
index 911a6c1..1026da6 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/object-tag/cross-http.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/object-tag/cross-http.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/object-tag/same-http.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/object-tag/same-http.no-redirect.https.html
index 2d98598..881141b 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/object-tag/same-http.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/object-tag/same-http.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/object-tag/same-https.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/object-tag/same-https.no-redirect.https.html
index 1981266..b593447 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/object-tag/same-https.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/object-tag/same-https.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Allowed content</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/picture-tag/cross-http.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/picture-tag/cross-http.no-redirect.https.html
index e5d5382..4bcc50c 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/picture-tag/cross-http.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/picture-tag/cross-http.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/picture-tag/same-http.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/picture-tag/same-http.no-redirect.https.html
index 8da3f84..31bc96e 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/picture-tag/same-http.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/picture-tag/same-http.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/picture-tag/same-https.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/picture-tag/same-https.no-redirect.https.html
index a8934783..3dbc401 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/picture-tag/same-https.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/picture-tag/same-https.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Allowed content</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/script-tag/cross-http.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/script-tag/cross-http.no-redirect.https.html
index 7c77c27..9324c61 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/script-tag/cross-http.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/script-tag/cross-http.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/script-tag/same-http.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/script-tag/same-http.no-redirect.https.html
index 57ff5725..51834ee 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/script-tag/same-http.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/script-tag/same-http.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/script-tag/same-https.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/script-tag/same-https.no-redirect.https.html
index 143831d..c96bec02 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/script-tag/same-https.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/script-tag/same-https.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Allowed content</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/video-tag/cross-http.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/video-tag/cross-http.no-redirect.https.html
index 356a348..12e43d3 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/video-tag/cross-http.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/video-tag/cross-http.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Optionally-blockable content</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/video-tag/same-http.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/video-tag/same-http.no-redirect.https.html
index 6bc12d11..1d525b4 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/video-tag/same-http.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/video-tag/same-http.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Optionally-blockable content</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/video-tag/same-https.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/video-tag/same-https.no-redirect.https.html
index 5e3bb47e4..60219c6 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/video-tag/same-https.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/video-tag/same-https.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Allowed content</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/websocket/cross-ws.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/websocket/cross-ws.no-redirect.https.html
index afabb88..4e192afe 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/websocket/cross-ws.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/websocket/cross-ws.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/websocket/same-ws.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/websocket/same-ws.no-redirect.https.html
index b069f262..5a3ae547 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/websocket/same-ws.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/websocket/same-ws.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/websocket/same-wss.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/websocket/same-wss.no-redirect.https.html
index 0eb3615..4764cab1 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/websocket/same-wss.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/websocket/same-wss.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Allowed content</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/worker-classic/cross-http.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/worker-classic/cross-http.no-redirect.https.html
index aec0484..36ee4ed5 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/worker-classic/cross-http.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/worker-classic/cross-http.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/worker-classic/same-http.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/worker-classic/same-http.no-redirect.https.html
index 8f22522..bdc90627 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/worker-classic/same-http.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/worker-classic/same-http.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/worker-classic/same-https.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/worker-classic/same-https.no-redirect.https.html
index 6312ec33..d29ea4d 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/worker-classic/same-https.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/worker-classic/same-https.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Allowed content</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/worker-import-data/cross-http.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/worker-import-data/cross-http.no-redirect.https.html
index 4691301d..a6a75473 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/worker-import-data/cross-http.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/worker-import-data/cross-http.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/worker-import-data/same-http.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/worker-import-data/same-http.no-redirect.https.html
index 1df8ad9e..e5662ec 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/worker-import-data/same-http.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/worker-import-data/same-http.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/worker-import-data/same-https.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/worker-import-data/same-https.no-redirect.https.html
index 670ffdd..ce40498 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/worker-import-data/same-https.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/worker-import-data/same-https.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Allowed content</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/worker-module/cross-http.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/worker-module/cross-http.no-redirect.https.html
index 9569094..87dd4d87 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/worker-module/cross-http.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/worker-module/cross-http.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/worker-module/same-http.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/worker-module/same-http.no-redirect.https.html
index 66fb5c3..e837b2cb 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/worker-module/same-http.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/worker-module/same-http.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/worker-module/same-https.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/worker-module/same-https.no-redirect.https.html
index aa75c6e..ed25f08 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/worker-module/same-https.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/worker-module/same-https.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Allowed content</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/worklet-animation-import-data/cross-http.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/worklet-animation-import-data/cross-http.no-redirect.https.html
index d114a57..e3c25da 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/worklet-animation-import-data/cross-http.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/worklet-animation-import-data/cross-http.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/worklet-animation-import-data/same-http.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/worklet-animation-import-data/same-http.no-redirect.https.html
index 74fd651..6059273 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/worklet-animation-import-data/same-http.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/worklet-animation-import-data/same-http.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/worklet-animation-import-data/same-https.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/worklet-animation-import-data/same-https.no-redirect.https.html
index d7b407d..d5e1333f 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/worklet-animation-import-data/same-https.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/worklet-animation-import-data/same-https.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Allowed content</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/worklet-animation/cross-http.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/worklet-animation/cross-http.no-redirect.https.html
index 491e117..b470340 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/worklet-animation/cross-http.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/worklet-animation/cross-http.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/worklet-animation/same-http.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/worklet-animation/same-http.no-redirect.https.html
index 80eb66f..be79725 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/worklet-animation/same-http.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/worklet-animation/same-http.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/worklet-animation/same-https.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/worklet-animation/same-https.no-redirect.https.html
index b6e56d9..a70282a 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/worklet-animation/same-https.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/worklet-animation/same-https.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Allowed content</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/worklet-audio-import-data/cross-http.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/worklet-audio-import-data/cross-http.no-redirect.https.html
index d0d6d480..a50ed27 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/worklet-audio-import-data/cross-http.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/worklet-audio-import-data/cross-http.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/worklet-audio-import-data/same-http.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/worklet-audio-import-data/same-http.no-redirect.https.html
index 45788a9..f284152 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/worklet-audio-import-data/same-http.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/worklet-audio-import-data/same-http.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/worklet-audio-import-data/same-https.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/worklet-audio-import-data/same-https.no-redirect.https.html
index 2e1866a..517c97f1 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/worklet-audio-import-data/same-https.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/worklet-audio-import-data/same-https.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Allowed content</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/worklet-audio/cross-http.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/worklet-audio/cross-http.no-redirect.https.html
index bd0f0e6c..866046e 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/worklet-audio/cross-http.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/worklet-audio/cross-http.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/worklet-audio/same-http.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/worklet-audio/same-http.no-redirect.https.html
index 6190482..7eeddcfd 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/worklet-audio/same-http.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/worklet-audio/same-http.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/worklet-audio/same-https.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/worklet-audio/same-https.no-redirect.https.html
index 343df63..a3804ee 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/worklet-audio/same-https.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/worklet-audio/same-https.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Allowed content</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/worklet-layout-import-data/cross-http.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/worklet-layout-import-data/cross-http.no-redirect.https.html
index 76cac02..284fd13 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/worklet-layout-import-data/cross-http.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/worklet-layout-import-data/cross-http.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/worklet-layout-import-data/same-http.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/worklet-layout-import-data/same-http.no-redirect.https.html
index 880fb302..d478c13 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/worklet-layout-import-data/same-http.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/worklet-layout-import-data/same-http.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/worklet-layout-import-data/same-https.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/worklet-layout-import-data/same-https.no-redirect.https.html
index a833d44f..dbba6ef 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/worklet-layout-import-data/same-https.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/worklet-layout-import-data/same-https.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Allowed content</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/worklet-layout/cross-http.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/worklet-layout/cross-http.no-redirect.https.html
index e12e978..f0f02757 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/worklet-layout/cross-http.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/worklet-layout/cross-http.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/worklet-layout/same-http.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/worklet-layout/same-http.no-redirect.https.html
index 448583db7..fdf08bb8 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/worklet-layout/same-http.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/worklet-layout/same-http.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/worklet-layout/same-https.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/worklet-layout/same-https.no-redirect.https.html
index e395b04..fd1cfc09 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/worklet-layout/same-https.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/worklet-layout/same-https.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Allowed content</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/worklet-paint-import-data/cross-http.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/worklet-paint-import-data/cross-http.no-redirect.https.html
index bd6943b..17ae0d1 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/worklet-paint-import-data/cross-http.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/worklet-paint-import-data/cross-http.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/worklet-paint-import-data/same-http.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/worklet-paint-import-data/same-http.no-redirect.https.html
index f0bafdd..b5ec919 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/worklet-paint-import-data/same-http.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/worklet-paint-import-data/same-http.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/worklet-paint-import-data/same-https.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/worklet-paint-import-data/same-https.no-redirect.https.html
index 16a6b331..5ba6376 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/worklet-paint-import-data/same-https.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/worklet-paint-import-data/same-https.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Allowed content</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/worklet-paint/cross-http.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/worklet-paint/cross-http.no-redirect.https.html
index 23dbcd9..6bcffc7 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/worklet-paint/cross-http.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/worklet-paint/cross-http.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/worklet-paint/same-http.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/worklet-paint/same-http.no-redirect.https.html
index 6d5642fa..2116616 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/worklet-paint/same-http.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/worklet-paint/same-http.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/worklet-paint/same-https.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/worklet-paint/same-https.no-redirect.https.html
index 2a67ca3..d07de21 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/worklet-paint/same-https.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/worklet-paint/same-https.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Allowed content</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/xhr/cross-http.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/xhr/cross-http.no-redirect.https.html
index bbf7fc8..4d8bfc52 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/xhr/cross-http.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/xhr/cross-http.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/xhr/same-http.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/xhr/same-http.no-redirect.https.html
index 2e2ecab..0224948f 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/xhr/same-http.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/xhr/same-http.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/xhr/same-https.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/xhr/same-https.no-redirect.https.html
index 9d700e3..b0b4c3a 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/xhr/same-https.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/opt-in/xhr/same-https.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Allowed content</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/audio-tag/cross-http.keep-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/audio-tag/cross-http.keep-scheme.https.html
index 876211d..f955c31 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/audio-tag/cross-http.keep-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/audio-tag/cross-http.keep-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Optionally-blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/audio-tag/cross-http.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/audio-tag/cross-http.no-redirect.https.html
index b999bfff..d06517a 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/audio-tag/cross-http.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/audio-tag/cross-http.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Optionally-blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/audio-tag/cross-http.swap-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/audio-tag/cross-http.swap-scheme.https.html
index bcb03d80..56f69bf1 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/audio-tag/cross-http.swap-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/audio-tag/cross-http.swap-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Optionally-blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/audio-tag/same-http.keep-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/audio-tag/same-http.keep-scheme.https.html
index 42fdd2b3..128a457d 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/audio-tag/same-http.keep-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/audio-tag/same-http.keep-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Optionally-blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/audio-tag/same-http.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/audio-tag/same-http.no-redirect.https.html
index 47a7183..0d7bbbd 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/audio-tag/same-http.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/audio-tag/same-http.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Optionally-blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/audio-tag/same-http.swap-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/audio-tag/same-http.swap-scheme.https.html
index ac2a203..11c60ffb 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/audio-tag/same-http.swap-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/audio-tag/same-http.swap-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Optionally-blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/audio-tag/same-https.keep-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/audio-tag/same-https.keep-scheme.https.html
index 7da3e5a..c82f589 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/audio-tag/same-https.keep-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/audio-tag/same-https.keep-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Allowed content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/audio-tag/same-https.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/audio-tag/same-https.no-redirect.https.html
index b193871..d475bbe 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/audio-tag/same-https.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/audio-tag/same-https.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Allowed content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/beacon/cross-http.keep-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/beacon/cross-http.keep-scheme.https.html
index 2604c38..0f4d641 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/beacon/cross-http.keep-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/beacon/cross-http.keep-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/beacon/cross-http.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/beacon/cross-http.no-redirect.https.html
index 8a297d6..5be5db15 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/beacon/cross-http.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/beacon/cross-http.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/beacon/cross-http.swap-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/beacon/cross-http.swap-scheme.https.html
index a9bb4fe..3eefb62 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/beacon/cross-http.swap-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/beacon/cross-http.swap-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/beacon/same-http.keep-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/beacon/same-http.keep-scheme.https.html
index 75d150d..984b353 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/beacon/same-http.keep-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/beacon/same-http.keep-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/beacon/same-http.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/beacon/same-http.no-redirect.https.html
index 8203cb7..46234a7 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/beacon/same-http.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/beacon/same-http.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/beacon/same-http.swap-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/beacon/same-http.swap-scheme.https.html
index 54114ff..27b956e 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/beacon/same-http.swap-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/beacon/same-http.swap-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/beacon/same-https.keep-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/beacon/same-https.keep-scheme.https.html
index 9a7cc11..52f3cb9 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/beacon/same-https.keep-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/beacon/same-https.keep-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Allowed content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/beacon/same-https.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/beacon/same-https.no-redirect.https.html
index 86c56bd..303e047 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/beacon/same-https.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/beacon/same-https.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Allowed content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/fetch/cross-http.keep-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/fetch/cross-http.keep-scheme.https.html
index d98fee3b..ea969778 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/fetch/cross-http.keep-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/fetch/cross-http.keep-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/fetch/cross-http.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/fetch/cross-http.no-redirect.https.html
index 6f111d1..8a29645 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/fetch/cross-http.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/fetch/cross-http.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/fetch/cross-http.swap-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/fetch/cross-http.swap-scheme.https.html
index 0b35f8b6..c080c346 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/fetch/cross-http.swap-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/fetch/cross-http.swap-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/fetch/same-http.keep-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/fetch/same-http.keep-scheme.https.html
index b96a212..ea9c18d6 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/fetch/same-http.keep-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/fetch/same-http.keep-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/fetch/same-http.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/fetch/same-http.no-redirect.https.html
index 280a9cd..dfbd7944 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/fetch/same-http.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/fetch/same-http.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/fetch/same-http.swap-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/fetch/same-http.swap-scheme.https.html
index a9063e4..2e6296c 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/fetch/same-http.swap-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/fetch/same-http.swap-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/fetch/same-https.keep-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/fetch/same-https.keep-scheme.https.html
index 4e2f750f..34f1b726 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/fetch/same-https.keep-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/fetch/same-https.keep-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Allowed content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/fetch/same-https.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/fetch/same-https.no-redirect.https.html
index 74817ec7..71a29f3 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/fetch/same-https.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/fetch/same-https.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Allowed content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/img-tag/cross-http.keep-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/img-tag/cross-http.keep-scheme.https.html
index 5ec2714..30f7407 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/img-tag/cross-http.keep-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/img-tag/cross-http.keep-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Optionally-blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/img-tag/cross-http.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/img-tag/cross-http.no-redirect.https.html
index 27de316..846846c 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/img-tag/cross-http.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/img-tag/cross-http.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Optionally-blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/img-tag/cross-http.swap-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/img-tag/cross-http.swap-scheme.https.html
index efdfd63..1da530e 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/img-tag/cross-http.swap-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/img-tag/cross-http.swap-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Optionally-blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/img-tag/same-http.keep-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/img-tag/same-http.keep-scheme.https.html
index 774ca7f..be60653 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/img-tag/same-http.keep-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/img-tag/same-http.keep-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Optionally-blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/img-tag/same-http.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/img-tag/same-http.no-redirect.https.html
index 3590a14..7c2e96c 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/img-tag/same-http.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/img-tag/same-http.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Optionally-blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/img-tag/same-http.swap-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/img-tag/same-http.swap-scheme.https.html
index 09e8d42..ccbcf08d 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/img-tag/same-http.swap-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/img-tag/same-http.swap-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Optionally-blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/img-tag/same-https.keep-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/img-tag/same-https.keep-scheme.https.html
index d8687bd..83297b9 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/img-tag/same-https.keep-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/img-tag/same-https.keep-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Allowed content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/img-tag/same-https.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/img-tag/same-https.no-redirect.https.html
index ffa2e47..951b0aa 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/img-tag/same-https.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/img-tag/same-https.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Allowed content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/link-css-tag/cross-http.keep-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/link-css-tag/cross-http.keep-scheme.https.html
index 7ee41857..4ca29b6 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/link-css-tag/cross-http.keep-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/link-css-tag/cross-http.keep-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/link-css-tag/cross-http.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/link-css-tag/cross-http.no-redirect.https.html
index be00ef5d..edcf944 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/link-css-tag/cross-http.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/link-css-tag/cross-http.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/link-css-tag/cross-http.swap-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/link-css-tag/cross-http.swap-scheme.https.html
index 9bed22b..c408c72 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/link-css-tag/cross-http.swap-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/link-css-tag/cross-http.swap-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/link-css-tag/same-http.keep-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/link-css-tag/same-http.keep-scheme.https.html
index 3849927..6eabfab 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/link-css-tag/same-http.keep-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/link-css-tag/same-http.keep-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/link-css-tag/same-http.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/link-css-tag/same-http.no-redirect.https.html
index cdde11b..4f823de2 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/link-css-tag/same-http.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/link-css-tag/same-http.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/link-css-tag/same-http.swap-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/link-css-tag/same-http.swap-scheme.https.html
index e9bcc9e..96a08a13 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/link-css-tag/same-http.swap-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/link-css-tag/same-http.swap-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/link-css-tag/same-https.keep-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/link-css-tag/same-https.keep-scheme.https.html
index 493d92e..8f3414e 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/link-css-tag/same-https.keep-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/link-css-tag/same-https.keep-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Allowed content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/link-css-tag/same-https.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/link-css-tag/same-https.no-redirect.https.html
index 69ab08e..b9b3a61 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/link-css-tag/same-https.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/link-css-tag/same-https.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Allowed content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/link-prefetch-tag/cross-http.keep-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/link-prefetch-tag/cross-http.keep-scheme.https.html
index 30594cc..cd95c8c3 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/link-prefetch-tag/cross-http.keep-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/link-prefetch-tag/cross-http.keep-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/link-prefetch-tag/cross-http.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/link-prefetch-tag/cross-http.no-redirect.https.html
index 533309e..a21b7188 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/link-prefetch-tag/cross-http.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/link-prefetch-tag/cross-http.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/link-prefetch-tag/cross-http.swap-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/link-prefetch-tag/cross-http.swap-scheme.https.html
index 5f8ce10..99483c3 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/link-prefetch-tag/cross-http.swap-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/link-prefetch-tag/cross-http.swap-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/link-prefetch-tag/same-http.keep-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/link-prefetch-tag/same-http.keep-scheme.https.html
index 076ecb83..60205080 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/link-prefetch-tag/same-http.keep-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/link-prefetch-tag/same-http.keep-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/link-prefetch-tag/same-http.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/link-prefetch-tag/same-http.no-redirect.https.html
index 534d3a1..8b671426 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/link-prefetch-tag/same-http.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/link-prefetch-tag/same-http.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/link-prefetch-tag/same-http.swap-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/link-prefetch-tag/same-http.swap-scheme.https.html
index cd87071..29a0d46 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/link-prefetch-tag/same-http.swap-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/link-prefetch-tag/same-http.swap-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/link-prefetch-tag/same-https.keep-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/link-prefetch-tag/same-https.keep-scheme.https.html
index 1f1b6d1..0ba438e 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/link-prefetch-tag/same-https.keep-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/link-prefetch-tag/same-https.keep-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Allowed content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/link-prefetch-tag/same-https.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/link-prefetch-tag/same-https.no-redirect.https.html
index f8cf49f..555c5348 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/link-prefetch-tag/same-https.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/link-prefetch-tag/same-https.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Allowed content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/object-tag/cross-http.keep-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/object-tag/cross-http.keep-scheme.https.html
index de3c2ca..828db98 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/object-tag/cross-http.keep-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/object-tag/cross-http.keep-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/object-tag/cross-http.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/object-tag/cross-http.no-redirect.https.html
index ee9625d..1dace19 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/object-tag/cross-http.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/object-tag/cross-http.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/object-tag/cross-http.swap-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/object-tag/cross-http.swap-scheme.https.html
index ab0a387..30b3c5b 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/object-tag/cross-http.swap-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/object-tag/cross-http.swap-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/object-tag/same-http.keep-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/object-tag/same-http.keep-scheme.https.html
index edbb3f9f..ec9eb5b8 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/object-tag/same-http.keep-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/object-tag/same-http.keep-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/object-tag/same-http.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/object-tag/same-http.no-redirect.https.html
index 72ae7e5..4fb39de 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/object-tag/same-http.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/object-tag/same-http.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/object-tag/same-http.swap-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/object-tag/same-http.swap-scheme.https.html
index fb969da..01676bab 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/object-tag/same-http.swap-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/object-tag/same-http.swap-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/object-tag/same-https.keep-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/object-tag/same-https.keep-scheme.https.html
index c537a64..ac1e853 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/object-tag/same-https.keep-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/object-tag/same-https.keep-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Allowed content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/object-tag/same-https.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/object-tag/same-https.no-redirect.https.html
index ea3e82a..e248122e 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/object-tag/same-https.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/object-tag/same-https.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Allowed content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/picture-tag/cross-http.keep-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/picture-tag/cross-http.keep-scheme.https.html
index 6ad20e5..6417081f 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/picture-tag/cross-http.keep-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/picture-tag/cross-http.keep-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/picture-tag/cross-http.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/picture-tag/cross-http.no-redirect.https.html
index 533eb0b..2c3f9e1 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/picture-tag/cross-http.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/picture-tag/cross-http.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/picture-tag/cross-http.swap-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/picture-tag/cross-http.swap-scheme.https.html
index 6c531f3..886e6ef 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/picture-tag/cross-http.swap-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/picture-tag/cross-http.swap-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/picture-tag/same-http.keep-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/picture-tag/same-http.keep-scheme.https.html
index d46d6f4..7528903 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/picture-tag/same-http.keep-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/picture-tag/same-http.keep-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/picture-tag/same-http.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/picture-tag/same-http.no-redirect.https.html
index 981d6c5..52a421f 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/picture-tag/same-http.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/picture-tag/same-http.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/picture-tag/same-http.swap-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/picture-tag/same-http.swap-scheme.https.html
index 68233cd..26ed43ec 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/picture-tag/same-http.swap-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/picture-tag/same-http.swap-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/picture-tag/same-https.keep-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/picture-tag/same-https.keep-scheme.https.html
index e702aef..6d10711 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/picture-tag/same-https.keep-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/picture-tag/same-https.keep-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Allowed content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/picture-tag/same-https.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/picture-tag/same-https.no-redirect.https.html
index b26d44d..fe4da56 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/picture-tag/same-https.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/picture-tag/same-https.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Allowed content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/script-tag/cross-http.keep-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/script-tag/cross-http.keep-scheme.https.html
index 727fc11..a5f903c 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/script-tag/cross-http.keep-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/script-tag/cross-http.keep-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/script-tag/cross-http.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/script-tag/cross-http.no-redirect.https.html
index 9b416e8..f3594a9c 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/script-tag/cross-http.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/script-tag/cross-http.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/script-tag/cross-http.swap-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/script-tag/cross-http.swap-scheme.https.html
index fd6c3be8..1933b37 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/script-tag/cross-http.swap-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/script-tag/cross-http.swap-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/script-tag/same-http.keep-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/script-tag/same-http.keep-scheme.https.html
index 479be78..bfc3391 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/script-tag/same-http.keep-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/script-tag/same-http.keep-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/script-tag/same-http.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/script-tag/same-http.no-redirect.https.html
index c3297719..712f802 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/script-tag/same-http.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/script-tag/same-http.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/script-tag/same-http.swap-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/script-tag/same-http.swap-scheme.https.html
index ba13e68..c707287 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/script-tag/same-http.swap-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/script-tag/same-http.swap-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/script-tag/same-https.keep-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/script-tag/same-https.keep-scheme.https.html
index 01b3760..d58c20a04 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/script-tag/same-https.keep-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/script-tag/same-https.keep-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Allowed content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/script-tag/same-https.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/script-tag/same-https.no-redirect.https.html
index 7d240ec..3d296650 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/script-tag/same-https.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/script-tag/same-https.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Allowed content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/video-tag/cross-http.keep-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/video-tag/cross-http.keep-scheme.https.html
index 9529cf7e8..f40396d 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/video-tag/cross-http.keep-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/video-tag/cross-http.keep-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Optionally-blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/video-tag/cross-http.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/video-tag/cross-http.no-redirect.https.html
index ea35f298..98fa4b6 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/video-tag/cross-http.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/video-tag/cross-http.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Optionally-blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/video-tag/cross-http.swap-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/video-tag/cross-http.swap-scheme.https.html
index 4b469e6..d521ef7 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/video-tag/cross-http.swap-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/video-tag/cross-http.swap-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Optionally-blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/video-tag/same-http.keep-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/video-tag/same-http.keep-scheme.https.html
index 8020ee0e..5f4696c 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/video-tag/same-http.keep-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/video-tag/same-http.keep-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Optionally-blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/video-tag/same-http.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/video-tag/same-http.no-redirect.https.html
index fbaa49b7..4c3d2b8 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/video-tag/same-http.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/video-tag/same-http.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Optionally-blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/video-tag/same-http.swap-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/video-tag/same-http.swap-scheme.https.html
index f0b76254..2aef0959 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/video-tag/same-http.swap-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/video-tag/same-http.swap-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Optionally-blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/video-tag/same-https.keep-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/video-tag/same-https.keep-scheme.https.html
index 79b3c0a..89f1f67 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/video-tag/same-https.keep-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/video-tag/same-https.keep-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Allowed content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/video-tag/same-https.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/video-tag/same-https.no-redirect.https.html
index c2c7f87..2860df2 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/video-tag/same-https.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/video-tag/same-https.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Allowed content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/websocket/cross-ws.keep-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/websocket/cross-ws.keep-scheme.https.html
index 18ec117..1c5302b 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/websocket/cross-ws.keep-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/websocket/cross-ws.keep-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/websocket/cross-ws.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/websocket/cross-ws.no-redirect.https.html
index 1673464..8437326 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/websocket/cross-ws.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/websocket/cross-ws.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/websocket/cross-ws.swap-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/websocket/cross-ws.swap-scheme.https.html
index bd8d6fd..92fd464 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/websocket/cross-ws.swap-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/websocket/cross-ws.swap-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/websocket/same-ws.keep-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/websocket/same-ws.keep-scheme.https.html
index b5080134..ac11208 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/websocket/same-ws.keep-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/websocket/same-ws.keep-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/websocket/same-ws.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/websocket/same-ws.no-redirect.https.html
index 9f168b08..967445ee 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/websocket/same-ws.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/websocket/same-ws.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/websocket/same-ws.swap-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/websocket/same-ws.swap-scheme.https.html
index 2444537..273712a 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/websocket/same-ws.swap-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/websocket/same-ws.swap-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/websocket/same-wss.keep-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/websocket/same-wss.keep-scheme.https.html
index b397c4e..4761917 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/websocket/same-wss.keep-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/websocket/same-wss.keep-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Allowed content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/websocket/same-wss.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/websocket/same-wss.no-redirect.https.html
index d19674d..ed5c0ab8 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/websocket/same-wss.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/websocket/same-wss.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Allowed content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worker-classic/cross-http.keep-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worker-classic/cross-http.keep-scheme.https.html
index 85290c1..8a915c29 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worker-classic/cross-http.keep-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worker-classic/cross-http.keep-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worker-classic/cross-http.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worker-classic/cross-http.no-redirect.https.html
index 0e125bc..5aabf75 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worker-classic/cross-http.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worker-classic/cross-http.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worker-classic/cross-http.swap-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worker-classic/cross-http.swap-scheme.https.html
index b92b11d..90c204d 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worker-classic/cross-http.swap-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worker-classic/cross-http.swap-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worker-classic/same-http.keep-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worker-classic/same-http.keep-scheme.https.html
index 213cf96..93668db 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worker-classic/same-http.keep-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worker-classic/same-http.keep-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worker-classic/same-http.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worker-classic/same-http.no-redirect.https.html
index 5ec4866..8521e37 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worker-classic/same-http.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worker-classic/same-http.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worker-classic/same-http.swap-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worker-classic/same-http.swap-scheme.https.html
index c75044d4..d5f79ad 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worker-classic/same-http.swap-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worker-classic/same-http.swap-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worker-classic/same-https.keep-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worker-classic/same-https.keep-scheme.https.html
index 5c5d73b..042bd14 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worker-classic/same-https.keep-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worker-classic/same-https.keep-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Allowed content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worker-classic/same-https.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worker-classic/same-https.no-redirect.https.html
index 4aa31ce5..05b13b6 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worker-classic/same-https.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worker-classic/same-https.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Allowed content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worker-import-data/cross-http.keep-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worker-import-data/cross-http.keep-scheme.https.html
index adba877..60963f9 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worker-import-data/cross-http.keep-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worker-import-data/cross-http.keep-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worker-import-data/cross-http.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worker-import-data/cross-http.no-redirect.https.html
index 7b54a33..7ced3b8 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worker-import-data/cross-http.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worker-import-data/cross-http.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worker-import-data/cross-http.swap-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worker-import-data/cross-http.swap-scheme.https.html
index 57d144ab..15711a9 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worker-import-data/cross-http.swap-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worker-import-data/cross-http.swap-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worker-import-data/same-http.keep-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worker-import-data/same-http.keep-scheme.https.html
index cb127cf..4a1d376 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worker-import-data/same-http.keep-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worker-import-data/same-http.keep-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worker-import-data/same-http.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worker-import-data/same-http.no-redirect.https.html
index 768fd4c..b8c53ba 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worker-import-data/same-http.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worker-import-data/same-http.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worker-import-data/same-http.swap-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worker-import-data/same-http.swap-scheme.https.html
index 736f6bc..be403a89 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worker-import-data/same-http.swap-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worker-import-data/same-http.swap-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worker-import-data/same-https.keep-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worker-import-data/same-https.keep-scheme.https.html
index 5be23a03..06a8f47a 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worker-import-data/same-https.keep-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worker-import-data/same-https.keep-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Allowed content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worker-import-data/same-https.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worker-import-data/same-https.no-redirect.https.html
index 858a1528..211bd0d 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worker-import-data/same-https.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worker-import-data/same-https.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Allowed content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worker-module/cross-http.keep-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worker-module/cross-http.keep-scheme.https.html
index a1e6f61..69dcfb7e 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worker-module/cross-http.keep-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worker-module/cross-http.keep-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worker-module/cross-http.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worker-module/cross-http.no-redirect.https.html
index a95d206..816e344 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worker-module/cross-http.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worker-module/cross-http.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worker-module/cross-http.swap-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worker-module/cross-http.swap-scheme.https.html
index c396cdc..9e167de1 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worker-module/cross-http.swap-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worker-module/cross-http.swap-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worker-module/same-http.keep-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worker-module/same-http.keep-scheme.https.html
index 20414a3d..75e103e 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worker-module/same-http.keep-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worker-module/same-http.keep-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worker-module/same-http.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worker-module/same-http.no-redirect.https.html
index 9397a35..f9e963d 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worker-module/same-http.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worker-module/same-http.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worker-module/same-http.swap-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worker-module/same-http.swap-scheme.https.html
index 0340366..f0397f11 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worker-module/same-http.swap-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worker-module/same-http.swap-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worker-module/same-https.keep-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worker-module/same-https.keep-scheme.https.html
index da0e808..b81758e 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worker-module/same-https.keep-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worker-module/same-https.keep-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Allowed content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worker-module/same-https.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worker-module/same-https.no-redirect.https.html
index a009215..a7399e2d 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worker-module/same-https.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worker-module/same-https.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Allowed content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-animation-import-data/cross-http.keep-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-animation-import-data/cross-http.keep-scheme.https.html
index 0271fd3..1c26e0c 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-animation-import-data/cross-http.keep-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-animation-import-data/cross-http.keep-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-animation-import-data/cross-http.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-animation-import-data/cross-http.no-redirect.https.html
index 2a1158bb..3ba399bb 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-animation-import-data/cross-http.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-animation-import-data/cross-http.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-animation-import-data/cross-http.swap-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-animation-import-data/cross-http.swap-scheme.https.html
index d9f4916b..b5950d9 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-animation-import-data/cross-http.swap-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-animation-import-data/cross-http.swap-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-animation-import-data/same-http.keep-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-animation-import-data/same-http.keep-scheme.https.html
index 5258084..b9a80c0 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-animation-import-data/same-http.keep-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-animation-import-data/same-http.keep-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-animation-import-data/same-http.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-animation-import-data/same-http.no-redirect.https.html
index 437db2c8..1b2f858a 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-animation-import-data/same-http.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-animation-import-data/same-http.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-animation-import-data/same-http.swap-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-animation-import-data/same-http.swap-scheme.https.html
index 48fb79a3..6c8e517 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-animation-import-data/same-http.swap-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-animation-import-data/same-http.swap-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-animation-import-data/same-https.keep-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-animation-import-data/same-https.keep-scheme.https.html
index 49a5222c..403fc34 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-animation-import-data/same-https.keep-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-animation-import-data/same-https.keep-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Allowed content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-animation-import-data/same-https.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-animation-import-data/same-https.no-redirect.https.html
index b111698b..89f4bd6 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-animation-import-data/same-https.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-animation-import-data/same-https.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Allowed content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-animation/cross-http.keep-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-animation/cross-http.keep-scheme.https.html
index 5973cc7..a2eff5f 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-animation/cross-http.keep-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-animation/cross-http.keep-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-animation/cross-http.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-animation/cross-http.no-redirect.https.html
index 6f8ec890..d778e5c 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-animation/cross-http.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-animation/cross-http.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-animation/cross-http.swap-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-animation/cross-http.swap-scheme.https.html
index 21e8ec6..23b98c3 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-animation/cross-http.swap-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-animation/cross-http.swap-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-animation/same-http.keep-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-animation/same-http.keep-scheme.https.html
index 9f57d2e8..c35a70d 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-animation/same-http.keep-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-animation/same-http.keep-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-animation/same-http.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-animation/same-http.no-redirect.https.html
index 0e4e5da..b462349 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-animation/same-http.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-animation/same-http.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-animation/same-http.swap-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-animation/same-http.swap-scheme.https.html
index 97a512f..fcb0b175 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-animation/same-http.swap-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-animation/same-http.swap-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-animation/same-https.keep-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-animation/same-https.keep-scheme.https.html
index 91ef446..1afc5a26 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-animation/same-https.keep-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-animation/same-https.keep-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Allowed content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-animation/same-https.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-animation/same-https.no-redirect.https.html
index a5f042be..ed789224 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-animation/same-https.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-animation/same-https.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Allowed content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-audio-import-data/cross-http.keep-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-audio-import-data/cross-http.keep-scheme.https.html
index 6e8da756..fedb12fc 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-audio-import-data/cross-http.keep-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-audio-import-data/cross-http.keep-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-audio-import-data/cross-http.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-audio-import-data/cross-http.no-redirect.https.html
index 32fa1640..657ed84 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-audio-import-data/cross-http.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-audio-import-data/cross-http.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-audio-import-data/cross-http.swap-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-audio-import-data/cross-http.swap-scheme.https.html
index 9fab4e2..1ccb5f3 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-audio-import-data/cross-http.swap-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-audio-import-data/cross-http.swap-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-audio-import-data/same-http.keep-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-audio-import-data/same-http.keep-scheme.https.html
index 81a971b..caa5f4b 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-audio-import-data/same-http.keep-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-audio-import-data/same-http.keep-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-audio-import-data/same-http.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-audio-import-data/same-http.no-redirect.https.html
index 5d434c0..7bf0db1 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-audio-import-data/same-http.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-audio-import-data/same-http.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-audio-import-data/same-http.swap-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-audio-import-data/same-http.swap-scheme.https.html
index 431caad..4a91a21 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-audio-import-data/same-http.swap-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-audio-import-data/same-http.swap-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-audio-import-data/same-https.keep-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-audio-import-data/same-https.keep-scheme.https.html
index e569aca..d7d0f8c 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-audio-import-data/same-https.keep-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-audio-import-data/same-https.keep-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Allowed content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-audio-import-data/same-https.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-audio-import-data/same-https.no-redirect.https.html
index 00a1085..78472a9 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-audio-import-data/same-https.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-audio-import-data/same-https.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Allowed content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-audio/cross-http.keep-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-audio/cross-http.keep-scheme.https.html
index 1f4d8e6..2cbded7 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-audio/cross-http.keep-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-audio/cross-http.keep-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-audio/cross-http.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-audio/cross-http.no-redirect.https.html
index 4027b3e..4e75da9 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-audio/cross-http.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-audio/cross-http.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-audio/cross-http.swap-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-audio/cross-http.swap-scheme.https.html
index 90d4553b..98faf005 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-audio/cross-http.swap-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-audio/cross-http.swap-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-audio/same-http.keep-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-audio/same-http.keep-scheme.https.html
index 81bffa4..4da5197 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-audio/same-http.keep-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-audio/same-http.keep-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-audio/same-http.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-audio/same-http.no-redirect.https.html
index 31e123c..7095622 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-audio/same-http.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-audio/same-http.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-audio/same-http.swap-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-audio/same-http.swap-scheme.https.html
index ae01e10..991ddf81 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-audio/same-http.swap-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-audio/same-http.swap-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-audio/same-https.keep-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-audio/same-https.keep-scheme.https.html
index 131bfeb1..f199071 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-audio/same-https.keep-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-audio/same-https.keep-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Allowed content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-audio/same-https.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-audio/same-https.no-redirect.https.html
index 96e0e30..76b119d 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-audio/same-https.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-audio/same-https.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Allowed content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-layout-import-data/cross-http.keep-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-layout-import-data/cross-http.keep-scheme.https.html
index d6de7f78..4f5d2f60 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-layout-import-data/cross-http.keep-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-layout-import-data/cross-http.keep-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-layout-import-data/cross-http.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-layout-import-data/cross-http.no-redirect.https.html
index 5109c5b..09aa7897 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-layout-import-data/cross-http.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-layout-import-data/cross-http.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-layout-import-data/cross-http.swap-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-layout-import-data/cross-http.swap-scheme.https.html
index 9e0eac10..345d3d60 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-layout-import-data/cross-http.swap-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-layout-import-data/cross-http.swap-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-layout-import-data/same-http.keep-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-layout-import-data/same-http.keep-scheme.https.html
index 8c1d39e2..529c85c 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-layout-import-data/same-http.keep-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-layout-import-data/same-http.keep-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-layout-import-data/same-http.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-layout-import-data/same-http.no-redirect.https.html
index da24a8a..ff88cbd4 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-layout-import-data/same-http.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-layout-import-data/same-http.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-layout-import-data/same-http.swap-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-layout-import-data/same-http.swap-scheme.https.html
index 7ec5888..5fd88554 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-layout-import-data/same-http.swap-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-layout-import-data/same-http.swap-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-layout-import-data/same-https.keep-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-layout-import-data/same-https.keep-scheme.https.html
index 0609fa8..f834427 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-layout-import-data/same-https.keep-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-layout-import-data/same-https.keep-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Allowed content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-layout-import-data/same-https.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-layout-import-data/same-https.no-redirect.https.html
index a55cbc2..06138a3 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-layout-import-data/same-https.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-layout-import-data/same-https.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Allowed content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-layout/cross-http.keep-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-layout/cross-http.keep-scheme.https.html
index e96a064..4bec395 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-layout/cross-http.keep-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-layout/cross-http.keep-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-layout/cross-http.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-layout/cross-http.no-redirect.https.html
index 9367a0e..5a98e96 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-layout/cross-http.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-layout/cross-http.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-layout/cross-http.swap-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-layout/cross-http.swap-scheme.https.html
index 5dc4ebc..e4ebe6ee 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-layout/cross-http.swap-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-layout/cross-http.swap-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-layout/same-http.keep-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-layout/same-http.keep-scheme.https.html
index d2840c5..bee7880 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-layout/same-http.keep-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-layout/same-http.keep-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-layout/same-http.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-layout/same-http.no-redirect.https.html
index b3b9c49..18102d6 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-layout/same-http.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-layout/same-http.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-layout/same-http.swap-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-layout/same-http.swap-scheme.https.html
index ef03e297..5b9ae88 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-layout/same-http.swap-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-layout/same-http.swap-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-layout/same-https.keep-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-layout/same-https.keep-scheme.https.html
index fc92036..a2211cf1 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-layout/same-https.keep-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-layout/same-https.keep-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Allowed content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-layout/same-https.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-layout/same-https.no-redirect.https.html
index 45dfa55e..c16b9831 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-layout/same-https.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-layout/same-https.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Allowed content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-paint-import-data/cross-http.keep-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-paint-import-data/cross-http.keep-scheme.https.html
index e881494b9..a483e48 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-paint-import-data/cross-http.keep-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-paint-import-data/cross-http.keep-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-paint-import-data/cross-http.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-paint-import-data/cross-http.no-redirect.https.html
index afca801..de0e2d3 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-paint-import-data/cross-http.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-paint-import-data/cross-http.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-paint-import-data/cross-http.swap-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-paint-import-data/cross-http.swap-scheme.https.html
index 582221b..bcc80e96 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-paint-import-data/cross-http.swap-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-paint-import-data/cross-http.swap-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-paint-import-data/same-http.keep-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-paint-import-data/same-http.keep-scheme.https.html
index fb9a3a4..8767eb58 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-paint-import-data/same-http.keep-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-paint-import-data/same-http.keep-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-paint-import-data/same-http.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-paint-import-data/same-http.no-redirect.https.html
index 1c5ac97..a4dffc0 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-paint-import-data/same-http.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-paint-import-data/same-http.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-paint-import-data/same-http.swap-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-paint-import-data/same-http.swap-scheme.https.html
index ff4a8e8..5242d8e 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-paint-import-data/same-http.swap-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-paint-import-data/same-http.swap-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-paint-import-data/same-https.keep-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-paint-import-data/same-https.keep-scheme.https.html
index cc89ca59..b1814df 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-paint-import-data/same-https.keep-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-paint-import-data/same-https.keep-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Allowed content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-paint-import-data/same-https.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-paint-import-data/same-https.no-redirect.https.html
index f61e2d79..14fa0ff 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-paint-import-data/same-https.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-paint-import-data/same-https.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Allowed content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-paint/cross-http.keep-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-paint/cross-http.keep-scheme.https.html
index 8ba634d1..b8a19cc 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-paint/cross-http.keep-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-paint/cross-http.keep-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-paint/cross-http.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-paint/cross-http.no-redirect.https.html
index 216be7f..01dac7c 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-paint/cross-http.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-paint/cross-http.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-paint/cross-http.swap-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-paint/cross-http.swap-scheme.https.html
index 1340df6..92eea339 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-paint/cross-http.swap-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-paint/cross-http.swap-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-paint/same-http.keep-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-paint/same-http.keep-scheme.https.html
index a4ff29a..88bf23e 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-paint/same-http.keep-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-paint/same-http.keep-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-paint/same-http.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-paint/same-http.no-redirect.https.html
index 884c5634..037008e 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-paint/same-http.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-paint/same-http.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-paint/same-http.swap-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-paint/same-http.swap-scheme.https.html
index bd6fcbbb..c758770 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-paint/same-http.swap-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-paint/same-http.swap-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-paint/same-https.keep-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-paint/same-https.keep-scheme.https.html
index a6b1861..337c8745 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-paint/same-https.keep-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-paint/same-https.keep-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Allowed content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-paint/same-https.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-paint/same-https.no-redirect.https.html
index 6ddc092..053785ee 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-paint/same-https.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/worklet-paint/same-https.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Allowed content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/xhr/cross-http.keep-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/xhr/cross-http.keep-scheme.https.html
index 9ff477c..6d53b026 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/xhr/cross-http.keep-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/xhr/cross-http.keep-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/xhr/cross-http.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/xhr/cross-http.no-redirect.https.html
index fbfb8fb..963c4196 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/xhr/cross-http.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/xhr/cross-http.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/xhr/cross-http.swap-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/xhr/cross-http.swap-scheme.https.html
index fa55bdbe..17eec14 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/xhr/cross-http.swap-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/xhr/cross-http.swap-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/xhr/same-http.keep-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/xhr/same-http.keep-scheme.https.html
index 8522fa3..792a290 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/xhr/same-http.keep-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/xhr/same-http.keep-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/xhr/same-http.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/xhr/same-http.no-redirect.https.html
index 1668b85..2feee7b 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/xhr/same-http.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/xhr/same-http.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/xhr/same-http.swap-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/xhr/same-http.swap-scheme.https.html
index 98ed3608..a976fc10 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/xhr/same-http.swap-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/xhr/same-http.swap-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/xhr/same-https.keep-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/xhr/same-https.keep-scheme.https.html
index e05e09b..cab77fe 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/xhr/same-https.keep-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/xhr/same-https.keep-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Allowed content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/xhr/same-https.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/xhr/same-https.no-redirect.https.html
index 0c58b6aa..b9bc0f4 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/xhr/same-https.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/top.meta/unset/xhr/same-https.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Allowed content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/worker-classic-data.http-rp/opt-in/fetch/cross-http.keep-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/worker-classic-data.http-rp/opt-in/fetch/cross-http.keep-scheme.https.html
index 9559ff5..db33191 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/worker-classic-data.http-rp/opt-in/fetch/cross-http.keep-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/worker-classic-data.http-rp/opt-in/fetch/cross-http.keep-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/worker-classic-data.http-rp/opt-in/fetch/cross-http.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/worker-classic-data.http-rp/opt-in/fetch/cross-http.no-redirect.https.html
index 54aa6ef..259e3e3 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/worker-classic-data.http-rp/opt-in/fetch/cross-http.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/worker-classic-data.http-rp/opt-in/fetch/cross-http.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/worker-classic-data.http-rp/opt-in/fetch/cross-http.swap-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/worker-classic-data.http-rp/opt-in/fetch/cross-http.swap-scheme.https.html
index cb6fca62..3b951b3 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/worker-classic-data.http-rp/opt-in/fetch/cross-http.swap-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/worker-classic-data.http-rp/opt-in/fetch/cross-http.swap-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/worker-classic-data.http-rp/opt-in/fetch/same-http.keep-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/worker-classic-data.http-rp/opt-in/fetch/same-http.keep-scheme.https.html
index f10f67c..6131d33 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/worker-classic-data.http-rp/opt-in/fetch/same-http.keep-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/worker-classic-data.http-rp/opt-in/fetch/same-http.keep-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/worker-classic-data.http-rp/opt-in/fetch/same-http.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/worker-classic-data.http-rp/opt-in/fetch/same-http.no-redirect.https.html
index 331e7df7..35e79ebb 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/worker-classic-data.http-rp/opt-in/fetch/same-http.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/worker-classic-data.http-rp/opt-in/fetch/same-http.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/worker-classic-data.http-rp/opt-in/fetch/same-http.swap-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/worker-classic-data.http-rp/opt-in/fetch/same-http.swap-scheme.https.html
index 3d2410c..0ee4ae7 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/worker-classic-data.http-rp/opt-in/fetch/same-http.swap-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/worker-classic-data.http-rp/opt-in/fetch/same-http.swap-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/worker-classic-data.http-rp/opt-in/fetch/same-https.keep-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/worker-classic-data.http-rp/opt-in/fetch/same-https.keep-scheme.https.html
index 2f6e11dd..100a3066 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/worker-classic-data.http-rp/opt-in/fetch/same-https.keep-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/worker-classic-data.http-rp/opt-in/fetch/same-https.keep-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Allowed content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/worker-classic-data.http-rp/opt-in/fetch/same-https.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/worker-classic-data.http-rp/opt-in/fetch/same-https.no-redirect.https.html
index 3e86f977..116fa4e0 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/worker-classic-data.http-rp/opt-in/fetch/same-https.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/worker-classic-data.http-rp/opt-in/fetch/same-https.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Allowed content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/worker-classic-data.meta/opt-in/fetch/cross-http.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/worker-classic-data.meta/opt-in/fetch/cross-http.no-redirect.https.html
index a1d639e5..f2c47e2 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/worker-classic-data.meta/opt-in/fetch/cross-http.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/worker-classic-data.meta/opt-in/fetch/cross-http.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/worker-classic-data.meta/opt-in/fetch/same-http.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/worker-classic-data.meta/opt-in/fetch/same-http.no-redirect.https.html
index 33e4459..4584eeb 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/worker-classic-data.meta/opt-in/fetch/same-http.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/worker-classic-data.meta/opt-in/fetch/same-http.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/worker-classic-data.meta/opt-in/fetch/same-https.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/worker-classic-data.meta/opt-in/fetch/same-https.no-redirect.https.html
index 9e9efae..0a0de6e 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/worker-classic-data.meta/opt-in/fetch/same-https.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/worker-classic-data.meta/opt-in/fetch/same-https.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Allowed content</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/worker-classic-data.meta/unset/fetch/cross-http.keep-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/worker-classic-data.meta/unset/fetch/cross-http.keep-scheme.https.html
index 9559ff5..db33191 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/worker-classic-data.meta/unset/fetch/cross-http.keep-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/worker-classic-data.meta/unset/fetch/cross-http.keep-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/worker-classic-data.meta/unset/fetch/cross-http.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/worker-classic-data.meta/unset/fetch/cross-http.no-redirect.https.html
index 54aa6ef..259e3e3 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/worker-classic-data.meta/unset/fetch/cross-http.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/worker-classic-data.meta/unset/fetch/cross-http.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/worker-classic-data.meta/unset/fetch/cross-http.swap-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/worker-classic-data.meta/unset/fetch/cross-http.swap-scheme.https.html
index cb6fca62..3b951b3 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/worker-classic-data.meta/unset/fetch/cross-http.swap-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/worker-classic-data.meta/unset/fetch/cross-http.swap-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/worker-classic-data.meta/unset/fetch/same-http.keep-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/worker-classic-data.meta/unset/fetch/same-http.keep-scheme.https.html
index f10f67c..6131d33 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/worker-classic-data.meta/unset/fetch/same-http.keep-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/worker-classic-data.meta/unset/fetch/same-http.keep-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/worker-classic-data.meta/unset/fetch/same-http.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/worker-classic-data.meta/unset/fetch/same-http.no-redirect.https.html
index 331e7df7..35e79ebb 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/worker-classic-data.meta/unset/fetch/same-http.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/worker-classic-data.meta/unset/fetch/same-http.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/worker-classic-data.meta/unset/fetch/same-http.swap-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/worker-classic-data.meta/unset/fetch/same-http.swap-scheme.https.html
index 3d2410c..0ee4ae7 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/worker-classic-data.meta/unset/fetch/same-http.swap-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/worker-classic-data.meta/unset/fetch/same-http.swap-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Blockable content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/worker-classic-data.meta/unset/fetch/same-https.keep-scheme.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/worker-classic-data.meta/unset/fetch/same-https.keep-scheme.https.html
index 2f6e11dd..100a3066 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/worker-classic-data.meta/unset/fetch/same-https.keep-scheme.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/worker-classic-data.meta/unset/fetch/same-https.keep-scheme.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Allowed content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/gen/worker-classic-data.meta/unset/fetch/same-https.no-redirect.https.html b/third_party/blink/web_tests/external/wpt/mixed-content/gen/worker-classic-data.meta/unset/fetch/same-https.no-redirect.https.html
index 3e86f977..116fa4e0 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/gen/worker-classic-data.meta/unset/fetch/same-https.no-redirect.https.html
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/gen/worker-classic-data.meta/unset/fetch/same-https.no-redirect.https.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by mixed-content/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec mixed-content/` -->
 <html>
   <head>
     <title>Mixed-Content: Allowed content</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/mixed-content/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/generic/spec_json.js b/third_party/blink/web_tests/external/wpt/mixed-content/generic/spec_json.js
new file mode 100644
index 0000000..e49bbd9
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/generic/spec_json.js
@@ -0,0 +1 @@
+var SPEC_JSON = {"selection_pattern": "%(source_context_list)s.%(delivery_type)s/%(delivery_value)s/%(subresource)s/%(origin)s.%(redirection)s.%(source_scheme)s", "test_file_path_pattern": "gen/%(source_context_list)s.%(delivery_type)s/%(delivery_value)s/%(subresource)s/%(origin)s.%(redirection)s.%(source_scheme)s.html", "test_description_template": "Mixed-Content: Expects %(expectation)s for %(subresource)s to %(origin)s origin and %(redirection)s redirection from %(source_scheme)s context.", "test_page_title_template": "Mixed-Content: %(title)s", "specification": [{"name": "optionally-blockable", "title": "Optionally-blockable content", "description": "Test behavior of optionally-blockable content", "specification_url": "http://www.w3.org/TR/mixed-content/#category-optionally-blockable", "test_expansion": [{"name": "opt-in-blocks", "expansion": "default", "source_scheme": "https", "source_context_list": "*", "delivery_type": "*", "delivery_value": "opt-in", "redirection": "*", "subresource": {"blockable": [], "optionally-blockable": "*"}, "origin": ["cross-http", "same-http"], "expectation": "blocked"}, {"name": "no-opt-in-allows", "expansion": "default", "source_scheme": "https", "source_context_list": "*", "delivery_type": "*", "delivery_value": null, "redirection": "*", "subresource": {"blockable": [], "optionally-blockable": "*"}, "origin": ["cross-http", "same-http"], "expectation": "allowed"}]}, {"name": "blockable", "title": "Blockable content", "description": "Test behavior of blockable content.", "specification_url": "http://www.w3.org/TR/mixed-content/#category-blockable", "test_expansion": [{"name": "opt-in-blocks", "expansion": "default", "source_scheme": "https", "source_context_list": "*", "delivery_type": "*", "delivery_value": "opt-in", "redirection": "*", "subresource": {"blockable": "*", "optionally-blockable": []}, "origin": ["cross-http", "same-http"], "expectation": "blocked"}, {"name": "no-opt-in-blocks", "expansion": "default", "source_scheme": "https", "source_context_list": "*", "delivery_type": "*", "delivery_value": null, "redirection": "*", "subresource": {"blockable": "*", "optionally-blockable": []}, "origin": ["cross-http", "same-http"], "expectation": "blocked"}, {"name": "ws-downgrade-blocks", "expansion": "default", "source_scheme": "https", "source_context_list": "*", "delivery_type": "*", "delivery_value": "*", "redirection": "*", "subresource": {"blockable": "websocket", "optionally-blockable": []}, "origin": ["cross-ws", "same-ws"], "expectation": "blocked"}]}, {"name": "allowed", "title": "Allowed content", "description": "Test behavior of allowed content.", "specification_url": "http://www.w3.org/TR/mixed-content/", "test_expansion": [{"name": "allowed", "expansion": "default", "source_scheme": "https", "source_context_list": "*", "delivery_type": "*", "delivery_value": "*", "redirection": ["no-redirect", "keep-scheme"], "subresource": {"blockable": "*", "optionally-blockable": "*"}, "origin": ["same-https"], "expectation": "allowed"}, {"name": "websocket-allowed", "expansion": "default", "source_scheme": "https", "source_context_list": "*", "delivery_type": "*", "delivery_value": "*", "redirection": ["no-redirect", "keep-scheme"], "subresource": {"blockable": "websocket", "optionally-blockable": []}, "origin": ["same-wss"], "expectation": "allowed"}]}], "delivery_key": "mixedContent", "excluded_tests": [{"name": "Skip-redundant-no-opt-in", "expansion": "*", "source_scheme": "*", "source_context_list": "*", "delivery_type": "http-rp", "delivery_value": null, "redirection": "*", "subresource": {"blockable": "*", "optionally-blockable": "*"}, "origin": "*", "expectation": "*"}, {"name": "Redundant-subresources", "expansion": "*", "source_scheme": "*", "source_context_list": "*", "delivery_type": "*", "delivery_value": "*", "redirection": "*", "subresource": {"blockable": ["a-tag"], "optionally-blockable": []}, "origin": "*", "expectation": "*"}, {"name": "Skip-origins-not-applicable-to-websockets", "expansion": "*", "source_scheme": "*", "source_context_list": "*", "delivery_type": "*", "delivery_value": "*", "redirection": "*", "subresource": {"blockable": ["websocket"], "optionally-blockable": []}, "origin": ["same-https", "same-http", "cross-https", "cross-http"], "expectation": "*"}, {"name": "Skip-redundant-for-opt-in-method", "expansion": "*", "source_scheme": "*", "source_context_list": "*", "delivery_type": "meta", "delivery_value": "opt-in", "redirection": ["keep-scheme", "swap-scheme"], "subresource": {"blockable": "*", "optionally-blockable": "*"}, "origin": "*", "expectation": "*"}], "source_context_schema": {"supported_delivery_type": {"top": ["http-rp", "meta"], "iframe": ["http-rp", "meta"], "iframe-blank": ["meta"], "srcdoc": ["meta"], "worker-classic": ["http-rp"], "worker-module": ["http-rp"], "worker-classic-data": [], "worker-module-data": []}, "supported_subresource": {"top": "*", "iframe": "*", "iframe-blank": "*", "srcdoc": "*", "worker-classic": ["xhr", "fetch", "websocket"], "worker-module": ["xhr", "fetch", "websocket"], "worker-classic-data": ["xhr", "fetch", "websocket"], "worker-module-data": ["xhr", "fetch", "websocket"]}}, "subresource_schema": {"supported_delivery_type": {"script-tag": [], "link-css-tag": [], "xhr": [], "worker-classic": [], "worker-module": [], "worker-import-data": [], "worklet-animation": [], "worklet-audio": [], "worklet-layout": [], "worklet-paint": [], "worklet-animation-import-data": [], "worklet-audio-import-data": [], "worklet-layout-import-data": [], "worklet-paint-import-data": [], "fetch": [], "a-tag": [], "object-tag": [], "picture-tag": [], "websocket": [], "link-prefetch-tag": [], "beacon": [], "img-tag": [], "audio-tag": [], "video-tag": []}}, "source_context_list_schema": {"top": {"description": "Policy set by the top-level Document", "sourceContextList": [{"sourceContextType": "top", "policyDeliveries": ["policy"]}], "subresourcePolicyDeliveries": []}, "worker-classic-data": {"sourceContextList": [{"sourceContextType": "top", "policyDeliveries": ["policy"]}, {"sourceContextType": "worker-classic-data", "policyDeliveries": []}], "subresourcePolicyDeliveries": []}, "worker-module-data": {"sourceContextList": [{"sourceContextType": "top", "policyDeliveries": ["policy"]}, {"sourceContextType": "worker-module-data", "policyDeliveries": []}], "subresourcePolicyDeliveries": []}}, "test_expansion_schema": {"expansion": ["default", "override"], "source_scheme": ["http", "https"], "delivery_type": ["http-rp", "meta"], "delivery_value": [null, "opt-in"], "source_context_list": ["top", "worker-classic-data", "worker-module-data"], "redirection": ["no-redirect", "keep-scheme", "swap-scheme"], "origin": ["same-https", "same-http", "cross-https", "cross-http", "same-wss", "same-ws", "cross-wss", "cross-ws"], "subresource": {"blockable": ["script-tag", "link-css-tag", "xhr", "worker-classic", "worker-module", "worker-import-data", "worklet-animation", "worklet-audio", "worklet-layout", "worklet-paint", "worklet-animation-import-data", "worklet-audio-import-data", "worklet-layout-import-data", "worklet-paint-import-data", "fetch", "a-tag", "object-tag", "picture-tag", "websocket", "link-prefetch-tag", "beacon"], "optionally-blockable": ["img-tag", "audio-tag", "video-tag"]}, "expectation": ["allowed", "blocked"]}};
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/generic/tools/generate.py b/third_party/blink/web_tests/external/wpt/mixed-content/generic/tools/generate.py
deleted file mode 100755
index 060bdabf..0000000
--- a/third_party/blink/web_tests/external/wpt/mixed-content/generic/tools/generate.py
+++ /dev/null
@@ -1,40 +0,0 @@
-#!/usr/bin/env python
-
-import os
-import sys
-
-sys.path.insert(
-    0,
-    os.path.join(
-        os.path.dirname(os.path.abspath(__file__)), '..', '..', '..', 'common',
-        'security-features', 'tools'))
-import generate
-
-
-class MixedContentConfig(object):
-    def __init__(self):
-        self.selection_pattern = \
-              '%(source_context_list)s.%(delivery_type)s/' + \
-              '%(delivery_value)s/' + \
-              '%(subresource)s/' + \
-              '%(origin)s.%(redirection)s.%(source_scheme)s'
-
-        self.test_file_path_pattern = 'gen/' + self.selection_pattern + '.html'
-
-        self.test_description_template = 'Mixed-Content: Expects %(expectation)s for %(subresource)s to %(origin)s origin and %(redirection)s redirection from %(source_scheme)s context.'
-
-        self.test_page_title_template = 'Mixed-Content: %s'
-
-        self.helper_js = '/mixed-content/generic/test-case.sub.js'
-
-        # For debug target only.
-        self.sanity_checker_js = '/mixed-content/generic/sanity-checker.js'
-        self.spec_json_js = '/mixed-content/spec_json.js'
-
-        script_directory = os.path.dirname(os.path.abspath(__file__))
-        self.spec_directory = os.path.abspath(
-            os.path.join(script_directory, '..', '..'))
-
-
-if __name__ == '__main__':
-    generate.main(MixedContentConfig())
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/spec.src.json b/third_party/blink/web_tests/external/wpt/mixed-content/spec.src.json
index c272bb3..8ece6de 100644
--- a/third_party/blink/web_tests/external/wpt/mixed-content/spec.src.json
+++ b/third_party/blink/web_tests/external/wpt/mixed-content/spec.src.json
@@ -1,4 +1,8 @@
 {
+  "selection_pattern": "%(source_context_list)s.%(delivery_type)s/%(delivery_value)s/%(subresource)s/%(origin)s.%(redirection)s.%(source_scheme)s",
+  "test_file_path_pattern": "gen/%(source_context_list)s.%(delivery_type)s/%(delivery_value)s/%(subresource)s/%(origin)s.%(redirection)s.%(source_scheme)s.html",
+  "test_description_template": "Mixed-Content: Expects %(expectation)s for %(subresource)s to %(origin)s origin and %(redirection)s redirection from %(source_scheme)s context.",
+  "test_page_title_template": "Mixed-Content: %(title)s",
   "specification": [
     {
       "name": "optionally-blockable",
diff --git a/third_party/blink/web_tests/external/wpt/mixed-content/spec_json.js b/third_party/blink/web_tests/external/wpt/mixed-content/spec_json.js
deleted file mode 100644
index 00428b1..0000000
--- a/third_party/blink/web_tests/external/wpt/mixed-content/spec_json.js
+++ /dev/null
@@ -1 +0,0 @@
-var SPEC_JSON = {"subresource_schema": {"supported_delivery_type": {"picture-tag": [], "worklet-layout": [], "worklet-paint": [], "img-tag": [], "a-tag": [], "worklet-layout-import-data": [], "worklet-audio-import-data": [], "worklet-animation": [], "websocket": [], "worklet-paint-import-data": [], "video-tag": [], "object-tag": [], "worklet-audio": [], "beacon": [], "worker-module": [], "worker-import-data": [], "script-tag": [], "worklet-animation-import-data": [], "link-css-tag": [], "xhr": [], "worker-classic": [], "link-prefetch-tag": [], "audio-tag": [], "fetch": []}}, "excluded_tests": [{"delivery_value": null, "origin": "*", "delivery_type": "http-rp", "name": "Skip-redundant-no-opt-in", "expectation": "*", "expansion": "*", "redirection": "*", "source_context_list": "*", "source_scheme": "*", "subresource": {"blockable": "*", "optionally-blockable": "*"}}, {"delivery_value": "*", "origin": "*", "delivery_type": "*", "name": "Redundant-subresources", "expectation": "*", "expansion": "*", "redirection": "*", "source_context_list": "*", "source_scheme": "*", "subresource": {"blockable": ["a-tag"], "optionally-blockable": []}}, {"delivery_value": "*", "origin": ["same-https", "same-http", "cross-https", "cross-http"], "delivery_type": "*", "name": "Skip-origins-not-applicable-to-websockets", "expectation": "*", "expansion": "*", "redirection": "*", "source_context_list": "*", "source_scheme": "*", "subresource": {"blockable": ["websocket"], "optionally-blockable": []}}, {"delivery_value": "opt-in", "origin": "*", "delivery_type": "meta", "name": "Skip-redundant-for-opt-in-method", "expectation": "*", "expansion": "*", "redirection": ["keep-scheme", "swap-scheme"], "source_context_list": "*", "source_scheme": "*", "subresource": {"blockable": "*", "optionally-blockable": "*"}}], "specification": [{"test_expansion": [{"delivery_value": "opt-in", "origin": ["cross-http", "same-http"], "delivery_type": "*", "name": "opt-in-blocks", "expectation": "blocked", "expansion": "default", "redirection": "*", "source_context_list": "*", "source_scheme": "https", "subresource": {"blockable": [], "optionally-blockable": "*"}}, {"delivery_value": null, "origin": ["cross-http", "same-http"], "delivery_type": "*", "name": "no-opt-in-allows", "expectation": "allowed", "expansion": "default", "redirection": "*", "source_context_list": "*", "source_scheme": "https", "subresource": {"blockable": [], "optionally-blockable": "*"}}], "description": "Test behavior of optionally-blockable content", "specification_url": "http://www.w3.org/TR/mixed-content/#category-optionally-blockable", "name": "optionally-blockable", "title": "Optionally-blockable content"}, {"test_expansion": [{"delivery_value": "opt-in", "origin": ["cross-http", "same-http"], "delivery_type": "*", "name": "opt-in-blocks", "expectation": "blocked", "expansion": "default", "redirection": "*", "source_context_list": "*", "source_scheme": "https", "subresource": {"blockable": "*", "optionally-blockable": []}}, {"delivery_value": null, "origin": ["cross-http", "same-http"], "delivery_type": "*", "name": "no-opt-in-blocks", "expectation": "blocked", "expansion": "default", "redirection": "*", "source_context_list": "*", "source_scheme": "https", "subresource": {"blockable": "*", "optionally-blockable": []}}, {"delivery_value": "*", "origin": ["cross-ws", "same-ws"], "delivery_type": "*", "name": "ws-downgrade-blocks", "expectation": "blocked", "expansion": "default", "redirection": "*", "source_context_list": "*", "source_scheme": "https", "subresource": {"blockable": "websocket", "optionally-blockable": []}}], "description": "Test behavior of blockable content.", "specification_url": "http://www.w3.org/TR/mixed-content/#category-blockable", "name": "blockable", "title": "Blockable content"}, {"test_expansion": [{"delivery_value": "*", "origin": ["same-https"], "delivery_type": "*", "name": "allowed", "expectation": "allowed", "expansion": "default", "redirection": ["no-redirect", "keep-scheme"], "source_context_list": "*", "source_scheme": "https", "subresource": {"blockable": "*", "optionally-blockable": "*"}}, {"delivery_value": "*", "origin": ["same-wss"], "delivery_type": "*", "name": "websocket-allowed", "expectation": "allowed", "expansion": "default", "redirection": ["no-redirect", "keep-scheme"], "source_context_list": "*", "source_scheme": "https", "subresource": {"blockable": "websocket", "optionally-blockable": []}}], "description": "Test behavior of allowed content.", "specification_url": "http://www.w3.org/TR/mixed-content/", "name": "allowed", "title": "Allowed content"}], "test_expansion_schema": {"delivery_value": [null, "opt-in"], "origin": ["same-https", "same-http", "cross-https", "cross-http", "same-wss", "same-ws", "cross-wss", "cross-ws"], "delivery_type": ["http-rp", "meta"], "subresource": {"blockable": ["script-tag", "link-css-tag", "xhr", "worker-classic", "worker-module", "worker-import-data", "worklet-animation", "worklet-audio", "worklet-layout", "worklet-paint", "worklet-animation-import-data", "worklet-audio-import-data", "worklet-layout-import-data", "worklet-paint-import-data", "fetch", "a-tag", "object-tag", "picture-tag", "websocket", "link-prefetch-tag", "beacon"], "optionally-blockable": ["img-tag", "audio-tag", "video-tag"]}, "expectation": ["allowed", "blocked"], "expansion": ["default", "override"], "redirection": ["no-redirect", "keep-scheme", "swap-scheme"], "source_context_list": ["top", "worker-classic-data", "worker-module-data"], "source_scheme": ["http", "https"]}, "source_context_list_schema": {"worker-classic-data": {"subresourcePolicyDeliveries": [], "sourceContextList": [{"sourceContextType": "top", "policyDeliveries": ["policy"]}, {"sourceContextType": "worker-classic-data", "policyDeliveries": []}]}, "top": {"subresourcePolicyDeliveries": [], "description": "Policy set by the top-level Document", "sourceContextList": [{"sourceContextType": "top", "policyDeliveries": ["policy"]}]}, "worker-module-data": {"subresourcePolicyDeliveries": [], "sourceContextList": [{"sourceContextType": "top", "policyDeliveries": ["policy"]}, {"sourceContextType": "worker-module-data", "policyDeliveries": []}]}}, "delivery_key": "mixedContent", "source_context_schema": {"supported_delivery_type": {"iframe": ["http-rp", "meta"], "worker-module-data": [], "worker-classic-data": [], "top": ["http-rp", "meta"], "worker-classic": ["http-rp"], "iframe-blank": ["meta"], "worker-module": ["http-rp"], "srcdoc": ["meta"]}, "supported_subresource": {"iframe": "*", "worker-module-data": ["xhr", "fetch", "websocket"], "worker-classic-data": ["xhr", "fetch", "websocket"], "top": "*", "worker-classic": ["xhr", "fetch", "websocket"], "iframe-blank": "*", "worker-module": ["xhr", "fetch", "websocket"], "srcdoc": "*"}}};
diff --git a/third_party/blink/web_tests/external/wpt/payment-request/allowpaymentrequest/removing-allowpaymentrequest.https.sub.html b/third_party/blink/web_tests/external/wpt/payment-request/allowpaymentrequest/removing-allowpaymentrequest.https.sub.html
index b0e0cba..64baebb 100644
--- a/third_party/blink/web_tests/external/wpt/payment-request/allowpaymentrequest/removing-allowpaymentrequest.https.sub.html
+++ b/third_party/blink/web_tests/external/wpt/payment-request/allowpaymentrequest/removing-allowpaymentrequest.https.sub.html
@@ -27,6 +27,9 @@
   });
 
   window.onmessage = t.step_func((e) => {
+    // Ignore messages that are not part of the test.
+    if (e.source != iframe.contentWindow) return;
+
     i++;
     if (i === 1) {
       // 5. This is the first message we receive, from the first load.
diff --git a/third_party/blink/web_tests/external/wpt/payment-request/allowpaymentrequest/setting-allowpaymentrequest-timing.https.sub.html b/third_party/blink/web_tests/external/wpt/payment-request/allowpaymentrequest/setting-allowpaymentrequest-timing.https.sub.html
index 45661de..a741296d 100644
--- a/third_party/blink/web_tests/external/wpt/payment-request/allowpaymentrequest/setting-allowpaymentrequest-timing.https.sub.html
+++ b/third_party/blink/web_tests/external/wpt/payment-request/allowpaymentrequest/setting-allowpaymentrequest-timing.https.sub.html
@@ -22,11 +22,15 @@
     iframe.contentWindow.postMessage('What is the result of new PaymentRequest(...)?', '*');
   });
 
-  window.onmessage = t.step_func_done((e) => {
+  window.onmessage = t.step_func((e) => {
+    // Ignore messages that are not part of the test.
+    if (e.source != iframe.contentWindow) return;
+
     assert_equals(e.data.message, 'Exception');
     assert_equals(4, e.data.details.length);
     // The last entry is the error stacktrace. Ignore it in comparison.
     assert_array_equals(e.data.details.slice(0, 3), [true /* ex instanceof DOMException */, DOMException.SECURITY_ERR, 'SecurityError']);
+    t.done();
   });
 
   document.body.appendChild(iframe);
diff --git a/third_party/blink/web_tests/external/wpt/payment-request/allowpaymentrequest/setting-allowpaymentrequest.https.sub.html b/third_party/blink/web_tests/external/wpt/payment-request/allowpaymentrequest/setting-allowpaymentrequest.https.sub.html
index 06f0c84..c1d53a4 100644
--- a/third_party/blink/web_tests/external/wpt/payment-request/allowpaymentrequest/setting-allowpaymentrequest.https.sub.html
+++ b/third_party/blink/web_tests/external/wpt/payment-request/allowpaymentrequest/setting-allowpaymentrequest.https.sub.html
@@ -20,6 +20,9 @@
   });
 
   window.onmessage = t.step_func((e) => {
+    // Ignore messages that are not part of the test.
+    if (e.source != iframe.contentWindow) return;
+
     i++;
     if (i === 1) {
       assert_equals(e.data.message, 'Exception', 'before navigation');
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer-when-downgrade/a-tag/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer-when-downgrade/a-tag/cross-http.no-redirect.http.html
index 7269ca1..c44fee37 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer-when-downgrade/a-tag/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer-when-downgrade/a-tag/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer-when-downgrade/a-tag/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer-when-downgrade/a-tag/cross-https.no-redirect.http.html
index cc10001e..3b4ef7e 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer-when-downgrade/a-tag/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer-when-downgrade/a-tag/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer-when-downgrade/a-tag/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer-when-downgrade/a-tag/same-http.no-redirect.http.html
index c477888..43eaa24 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer-when-downgrade/a-tag/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer-when-downgrade/a-tag/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer-when-downgrade/a-tag/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer-when-downgrade/a-tag/same-https.no-redirect.http.html
index e412e74..f742a56 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer-when-downgrade/a-tag/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer-when-downgrade/a-tag/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer-when-downgrade/iframe-tag/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer-when-downgrade/iframe-tag/cross-http.keep-origin.http.html
index fedb381..913ad18 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer-when-downgrade/iframe-tag/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer-when-downgrade/iframe-tag/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer-when-downgrade/iframe-tag/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer-when-downgrade/iframe-tag/cross-http.no-redirect.http.html
index d96a1d0..844e13e 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer-when-downgrade/iframe-tag/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer-when-downgrade/iframe-tag/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer-when-downgrade/iframe-tag/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer-when-downgrade/iframe-tag/cross-http.swap-origin.http.html
index 694e8a3..e98b0815 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer-when-downgrade/iframe-tag/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer-when-downgrade/iframe-tag/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer-when-downgrade/iframe-tag/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer-when-downgrade/iframe-tag/cross-https.keep-origin.http.html
index 22fe67a..fafc95e 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer-when-downgrade/iframe-tag/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer-when-downgrade/iframe-tag/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer-when-downgrade/iframe-tag/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer-when-downgrade/iframe-tag/cross-https.no-redirect.http.html
index d59ed7d..239e995b1 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer-when-downgrade/iframe-tag/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer-when-downgrade/iframe-tag/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer-when-downgrade/iframe-tag/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer-when-downgrade/iframe-tag/cross-https.swap-origin.http.html
index 7d333bd..c301a60c 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer-when-downgrade/iframe-tag/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer-when-downgrade/iframe-tag/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer-when-downgrade/iframe-tag/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer-when-downgrade/iframe-tag/same-http.keep-origin.http.html
index 6d74fa96..3bec116 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer-when-downgrade/iframe-tag/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer-when-downgrade/iframe-tag/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer-when-downgrade/iframe-tag/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer-when-downgrade/iframe-tag/same-http.no-redirect.http.html
index 8016317..7345a7f 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer-when-downgrade/iframe-tag/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer-when-downgrade/iframe-tag/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer-when-downgrade/iframe-tag/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer-when-downgrade/iframe-tag/same-http.swap-origin.http.html
index 2b27dd5f..bb229dd 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer-when-downgrade/iframe-tag/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer-when-downgrade/iframe-tag/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer-when-downgrade/iframe-tag/same-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer-when-downgrade/iframe-tag/same-https.keep-origin.http.html
index d6d4d6b..3020fe4 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer-when-downgrade/iframe-tag/same-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer-when-downgrade/iframe-tag/same-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer-when-downgrade/iframe-tag/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer-when-downgrade/iframe-tag/same-https.no-redirect.http.html
index c7a32e5..58d9c55 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer-when-downgrade/iframe-tag/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer-when-downgrade/iframe-tag/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer-when-downgrade/iframe-tag/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer-when-downgrade/iframe-tag/same-https.swap-origin.http.html
index 04131b2..1f884e98d 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer-when-downgrade/iframe-tag/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer-when-downgrade/iframe-tag/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer-when-downgrade/img-tag/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer-when-downgrade/img-tag/cross-http.keep-origin.http.html
index 91217a1..ce0748b7 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer-when-downgrade/img-tag/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer-when-downgrade/img-tag/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer-when-downgrade/img-tag/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer-when-downgrade/img-tag/cross-http.no-redirect.http.html
index 0c9f3b9..1febea3 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer-when-downgrade/img-tag/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer-when-downgrade/img-tag/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer-when-downgrade/img-tag/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer-when-downgrade/img-tag/cross-http.swap-origin.http.html
index 884b9eb1..6c2c49c6 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer-when-downgrade/img-tag/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer-when-downgrade/img-tag/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer-when-downgrade/img-tag/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer-when-downgrade/img-tag/cross-https.keep-origin.http.html
index 4012b20f..01a0125 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer-when-downgrade/img-tag/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer-when-downgrade/img-tag/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer-when-downgrade/img-tag/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer-when-downgrade/img-tag/cross-https.no-redirect.http.html
index fdc199880..b966bcb 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer-when-downgrade/img-tag/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer-when-downgrade/img-tag/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer-when-downgrade/img-tag/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer-when-downgrade/img-tag/cross-https.swap-origin.http.html
index 7c9fece..45da014 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer-when-downgrade/img-tag/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer-when-downgrade/img-tag/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer-when-downgrade/img-tag/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer-when-downgrade/img-tag/same-http.keep-origin.http.html
index 7cbfb80..443ddf03 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer-when-downgrade/img-tag/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer-when-downgrade/img-tag/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer-when-downgrade/img-tag/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer-when-downgrade/img-tag/same-http.no-redirect.http.html
index 1f01d72..fd22285 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer-when-downgrade/img-tag/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer-when-downgrade/img-tag/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer-when-downgrade/img-tag/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer-when-downgrade/img-tag/same-http.swap-origin.http.html
index 16ec9ba4..17e8baa 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer-when-downgrade/img-tag/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer-when-downgrade/img-tag/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer-when-downgrade/img-tag/same-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer-when-downgrade/img-tag/same-https.keep-origin.http.html
index 27b0730..d0dc648 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer-when-downgrade/img-tag/same-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer-when-downgrade/img-tag/same-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer-when-downgrade/img-tag/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer-when-downgrade/img-tag/same-https.no-redirect.http.html
index 5d5b14f..f3ac8e1 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer-when-downgrade/img-tag/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer-when-downgrade/img-tag/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer-when-downgrade/img-tag/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer-when-downgrade/img-tag/same-https.swap-origin.http.html
index 7db51dbe..d425a1f 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer-when-downgrade/img-tag/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer-when-downgrade/img-tag/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer-when-downgrade/script-tag/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer-when-downgrade/script-tag/cross-http.keep-origin.http.html
index c8270f8..e017894 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer-when-downgrade/script-tag/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer-when-downgrade/script-tag/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer-when-downgrade/script-tag/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer-when-downgrade/script-tag/cross-http.no-redirect.http.html
index da7d8dc..2555b7a 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer-when-downgrade/script-tag/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer-when-downgrade/script-tag/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer-when-downgrade/script-tag/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer-when-downgrade/script-tag/cross-http.swap-origin.http.html
index 908637b..a4e6155 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer-when-downgrade/script-tag/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer-when-downgrade/script-tag/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer-when-downgrade/script-tag/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer-when-downgrade/script-tag/cross-https.keep-origin.http.html
index 2407b76..d29b9f3 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer-when-downgrade/script-tag/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer-when-downgrade/script-tag/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer-when-downgrade/script-tag/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer-when-downgrade/script-tag/cross-https.no-redirect.http.html
index bab2a50..e30b8b3 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer-when-downgrade/script-tag/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer-when-downgrade/script-tag/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer-when-downgrade/script-tag/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer-when-downgrade/script-tag/cross-https.swap-origin.http.html
index 8d3a921..bd33928 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer-when-downgrade/script-tag/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer-when-downgrade/script-tag/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer-when-downgrade/script-tag/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer-when-downgrade/script-tag/same-http.keep-origin.http.html
index 59e0398..fb3ba0e69 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer-when-downgrade/script-tag/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer-when-downgrade/script-tag/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer-when-downgrade/script-tag/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer-when-downgrade/script-tag/same-http.no-redirect.http.html
index 6c44ba0e..d3458df 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer-when-downgrade/script-tag/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer-when-downgrade/script-tag/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer-when-downgrade/script-tag/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer-when-downgrade/script-tag/same-http.swap-origin.http.html
index 3e74519..ea91563 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer-when-downgrade/script-tag/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer-when-downgrade/script-tag/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer-when-downgrade/script-tag/same-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer-when-downgrade/script-tag/same-https.keep-origin.http.html
index 7a016b22..95388c3 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer-when-downgrade/script-tag/same-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer-when-downgrade/script-tag/same-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer-when-downgrade/script-tag/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer-when-downgrade/script-tag/same-https.no-redirect.http.html
index 64d75af..298d1d1 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer-when-downgrade/script-tag/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer-when-downgrade/script-tag/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer-when-downgrade/script-tag/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer-when-downgrade/script-tag/same-https.swap-origin.http.html
index 8d0f21bd..4e35f80 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer-when-downgrade/script-tag/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer-when-downgrade/script-tag/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer/a-tag/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer/a-tag/cross-http.no-redirect.http.html
index 7414c8e..5a974e5 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer/a-tag/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer/a-tag/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer/a-tag/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer/a-tag/cross-https.no-redirect.http.html
index 461d2fe..e1f171c 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer/a-tag/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer/a-tag/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer/a-tag/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer/a-tag/same-http.no-redirect.http.html
index 364c688..6b6560c 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer/a-tag/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer/a-tag/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer/a-tag/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer/a-tag/same-https.no-redirect.http.html
index 8de257c5..aac77a6 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer/a-tag/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer/a-tag/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer/iframe-tag/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer/iframe-tag/cross-http.keep-origin.http.html
index dcb7c8b..4b9d88c1 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer/iframe-tag/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer/iframe-tag/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer/iframe-tag/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer/iframe-tag/cross-http.no-redirect.http.html
index 99a5e73..2c5ff6d2 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer/iframe-tag/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer/iframe-tag/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer/iframe-tag/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer/iframe-tag/cross-http.swap-origin.http.html
index 4c39475..8608779 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer/iframe-tag/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer/iframe-tag/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer/iframe-tag/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer/iframe-tag/cross-https.keep-origin.http.html
index 523da932..f182c76 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer/iframe-tag/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer/iframe-tag/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer/iframe-tag/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer/iframe-tag/cross-https.no-redirect.http.html
index 0c65dd3..a0cbaf79 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer/iframe-tag/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer/iframe-tag/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer/iframe-tag/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer/iframe-tag/cross-https.swap-origin.http.html
index 50fb9ba..e2df19f 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer/iframe-tag/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer/iframe-tag/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer/iframe-tag/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer/iframe-tag/same-http.keep-origin.http.html
index 8946cc15..74206f4 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer/iframe-tag/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer/iframe-tag/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer/iframe-tag/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer/iframe-tag/same-http.no-redirect.http.html
index 4037c2f..9f3b43f 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer/iframe-tag/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer/iframe-tag/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer/iframe-tag/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer/iframe-tag/same-http.swap-origin.http.html
index d9c17d63..a9dda250 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer/iframe-tag/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer/iframe-tag/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer/iframe-tag/same-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer/iframe-tag/same-https.keep-origin.http.html
index 8e64d48c..49e18c3 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer/iframe-tag/same-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer/iframe-tag/same-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer/iframe-tag/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer/iframe-tag/same-https.no-redirect.http.html
index d55ac0be..affc33d 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer/iframe-tag/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer/iframe-tag/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer/iframe-tag/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer/iframe-tag/same-https.swap-origin.http.html
index 1acc09e2..053f4a6 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer/iframe-tag/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer/iframe-tag/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer/img-tag/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer/img-tag/cross-http.keep-origin.http.html
index 6242aaa..150548df 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer/img-tag/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer/img-tag/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer/img-tag/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer/img-tag/cross-http.no-redirect.http.html
index 2016094..4b7f7186 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer/img-tag/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer/img-tag/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer/img-tag/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer/img-tag/cross-http.swap-origin.http.html
index 4c905c1..0b4ab2e 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer/img-tag/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer/img-tag/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer/img-tag/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer/img-tag/cross-https.keep-origin.http.html
index d62e9c01..09b2d69 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer/img-tag/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer/img-tag/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer/img-tag/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer/img-tag/cross-https.no-redirect.http.html
index 1b77a0c..804384a 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer/img-tag/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer/img-tag/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer/img-tag/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer/img-tag/cross-https.swap-origin.http.html
index 40d2cff..25b0ae35 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer/img-tag/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer/img-tag/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer/img-tag/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer/img-tag/same-http.keep-origin.http.html
index 817abb9..8414661 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer/img-tag/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer/img-tag/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer/img-tag/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer/img-tag/same-http.no-redirect.http.html
index 7d769f3d..d7cc563 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer/img-tag/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer/img-tag/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer/img-tag/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer/img-tag/same-http.swap-origin.http.html
index 2ba0de6d..7ad57b6 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer/img-tag/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer/img-tag/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer/img-tag/same-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer/img-tag/same-https.keep-origin.http.html
index eda665d..fcaec9cd 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer/img-tag/same-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer/img-tag/same-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer/img-tag/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer/img-tag/same-https.no-redirect.http.html
index 445aa4dc..3cc2ced 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer/img-tag/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer/img-tag/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer/img-tag/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer/img-tag/same-https.swap-origin.http.html
index 455c57d..9894edc7 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer/img-tag/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer/img-tag/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer/script-tag/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer/script-tag/cross-http.keep-origin.http.html
index ecdf4bdc..171dd12 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer/script-tag/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer/script-tag/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer/script-tag/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer/script-tag/cross-http.no-redirect.http.html
index ad33e3c9..ed1b6c74 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer/script-tag/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer/script-tag/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer/script-tag/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer/script-tag/cross-http.swap-origin.http.html
index 1185163..7cc3f5a 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer/script-tag/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer/script-tag/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer/script-tag/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer/script-tag/cross-https.keep-origin.http.html
index 34ab726..d33fbb4 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer/script-tag/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer/script-tag/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer/script-tag/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer/script-tag/cross-https.no-redirect.http.html
index 7e54f36..6b5a967 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer/script-tag/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer/script-tag/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer/script-tag/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer/script-tag/cross-https.swap-origin.http.html
index f7d5dd5..b953043 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer/script-tag/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer/script-tag/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer/script-tag/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer/script-tag/same-http.keep-origin.http.html
index f98f045..bd64cb2 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer/script-tag/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer/script-tag/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer/script-tag/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer/script-tag/same-http.no-redirect.http.html
index a9f08ff0..5eb920b 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer/script-tag/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer/script-tag/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer/script-tag/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer/script-tag/same-http.swap-origin.http.html
index 88c43cf..f22781e 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer/script-tag/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer/script-tag/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer/script-tag/same-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer/script-tag/same-https.keep-origin.http.html
index 7336f7f..6135f65 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer/script-tag/same-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer/script-tag/same-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer/script-tag/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer/script-tag/same-https.no-redirect.http.html
index 787b4a2..dcfa5b0 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer/script-tag/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer/script-tag/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer/script-tag/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer/script-tag/same-https.swap-origin.http.html
index 4277eb4b..e2d56eb 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer/script-tag/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/no-referrer/script-tag/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin-when-cross-origin/a-tag/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin-when-cross-origin/a-tag/cross-http.no-redirect.http.html
index e7526ed..8b1b2a4 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin-when-cross-origin/a-tag/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin-when-cross-origin/a-tag/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin-when-cross-origin/a-tag/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin-when-cross-origin/a-tag/cross-https.no-redirect.http.html
index ffd8de67..f29fb4b 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin-when-cross-origin/a-tag/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin-when-cross-origin/a-tag/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin-when-cross-origin/a-tag/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin-when-cross-origin/a-tag/same-http.no-redirect.http.html
index 845056d..220f8abb 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin-when-cross-origin/a-tag/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin-when-cross-origin/a-tag/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin-when-cross-origin/a-tag/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin-when-cross-origin/a-tag/same-https.no-redirect.http.html
index 0000efd2..4d184fa 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin-when-cross-origin/a-tag/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin-when-cross-origin/a-tag/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin-when-cross-origin/iframe-tag/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin-when-cross-origin/iframe-tag/cross-http.keep-origin.http.html
index b84d1d87..8260e81 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin-when-cross-origin/iframe-tag/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin-when-cross-origin/iframe-tag/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin-when-cross-origin/iframe-tag/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin-when-cross-origin/iframe-tag/cross-http.no-redirect.http.html
index cb44bb0..cb89e64 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin-when-cross-origin/iframe-tag/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin-when-cross-origin/iframe-tag/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin-when-cross-origin/iframe-tag/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin-when-cross-origin/iframe-tag/cross-http.swap-origin.http.html
index 2ac5dc6..0a9f567 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin-when-cross-origin/iframe-tag/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin-when-cross-origin/iframe-tag/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin-when-cross-origin/iframe-tag/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin-when-cross-origin/iframe-tag/cross-https.keep-origin.http.html
index eb22b52..e7a5424 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin-when-cross-origin/iframe-tag/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin-when-cross-origin/iframe-tag/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin-when-cross-origin/iframe-tag/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin-when-cross-origin/iframe-tag/cross-https.no-redirect.http.html
index b986b32c..94da78b1 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin-when-cross-origin/iframe-tag/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin-when-cross-origin/iframe-tag/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin-when-cross-origin/iframe-tag/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin-when-cross-origin/iframe-tag/cross-https.swap-origin.http.html
index 59e06f4..22397a90 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin-when-cross-origin/iframe-tag/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin-when-cross-origin/iframe-tag/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin-when-cross-origin/iframe-tag/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin-when-cross-origin/iframe-tag/same-http.keep-origin.http.html
index d13cccd..db0ad8b0 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin-when-cross-origin/iframe-tag/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin-when-cross-origin/iframe-tag/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin-when-cross-origin/iframe-tag/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin-when-cross-origin/iframe-tag/same-http.no-redirect.http.html
index c355707..7d93d07 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin-when-cross-origin/iframe-tag/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin-when-cross-origin/iframe-tag/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin-when-cross-origin/iframe-tag/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin-when-cross-origin/iframe-tag/same-http.swap-origin.http.html
index becbb55..9d2819f 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin-when-cross-origin/iframe-tag/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin-when-cross-origin/iframe-tag/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin-when-cross-origin/iframe-tag/same-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin-when-cross-origin/iframe-tag/same-https.keep-origin.http.html
index 584875a..635ddb2 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin-when-cross-origin/iframe-tag/same-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin-when-cross-origin/iframe-tag/same-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin-when-cross-origin/iframe-tag/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin-when-cross-origin/iframe-tag/same-https.no-redirect.http.html
index 3a18143a..cc3ed50 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin-when-cross-origin/iframe-tag/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin-when-cross-origin/iframe-tag/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin-when-cross-origin/iframe-tag/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin-when-cross-origin/iframe-tag/same-https.swap-origin.http.html
index 2c9c568..5c64af4 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin-when-cross-origin/iframe-tag/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin-when-cross-origin/iframe-tag/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin-when-cross-origin/img-tag/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin-when-cross-origin/img-tag/cross-http.keep-origin.http.html
index 21643724..1ad7880 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin-when-cross-origin/img-tag/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin-when-cross-origin/img-tag/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin-when-cross-origin/img-tag/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin-when-cross-origin/img-tag/cross-http.no-redirect.http.html
index 52b471e..b233a53 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin-when-cross-origin/img-tag/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin-when-cross-origin/img-tag/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin-when-cross-origin/img-tag/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin-when-cross-origin/img-tag/cross-http.swap-origin.http.html
index cfba196..2bcd1db9 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin-when-cross-origin/img-tag/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin-when-cross-origin/img-tag/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin-when-cross-origin/img-tag/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin-when-cross-origin/img-tag/cross-https.keep-origin.http.html
index e94dfaa4..91b6e99e 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin-when-cross-origin/img-tag/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin-when-cross-origin/img-tag/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin-when-cross-origin/img-tag/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin-when-cross-origin/img-tag/cross-https.no-redirect.http.html
index 89446bf75..8a24d43a 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin-when-cross-origin/img-tag/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin-when-cross-origin/img-tag/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin-when-cross-origin/img-tag/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin-when-cross-origin/img-tag/cross-https.swap-origin.http.html
index 1946d0a2..209978e3 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin-when-cross-origin/img-tag/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin-when-cross-origin/img-tag/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin-when-cross-origin/img-tag/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin-when-cross-origin/img-tag/same-http.keep-origin.http.html
index a41f9c3..270af5b 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin-when-cross-origin/img-tag/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin-when-cross-origin/img-tag/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin-when-cross-origin/img-tag/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin-when-cross-origin/img-tag/same-http.no-redirect.http.html
index 60fb6ad..e99dd16 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin-when-cross-origin/img-tag/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin-when-cross-origin/img-tag/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin-when-cross-origin/img-tag/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin-when-cross-origin/img-tag/same-http.swap-origin.http.html
index bebc7b5..599e7c1 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin-when-cross-origin/img-tag/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin-when-cross-origin/img-tag/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin-when-cross-origin/img-tag/same-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin-when-cross-origin/img-tag/same-https.keep-origin.http.html
index ba81395..0accc804 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin-when-cross-origin/img-tag/same-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin-when-cross-origin/img-tag/same-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin-when-cross-origin/img-tag/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin-when-cross-origin/img-tag/same-https.no-redirect.http.html
index 5aa87fe3..48bdfc4 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin-when-cross-origin/img-tag/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin-when-cross-origin/img-tag/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin-when-cross-origin/img-tag/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin-when-cross-origin/img-tag/same-https.swap-origin.http.html
index 6480f77..98ba7cb 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin-when-cross-origin/img-tag/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin-when-cross-origin/img-tag/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin-when-cross-origin/script-tag/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin-when-cross-origin/script-tag/cross-http.keep-origin.http.html
index bc09370..c179cb9 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin-when-cross-origin/script-tag/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin-when-cross-origin/script-tag/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin-when-cross-origin/script-tag/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin-when-cross-origin/script-tag/cross-http.no-redirect.http.html
index 1e408c3..335eb30 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin-when-cross-origin/script-tag/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin-when-cross-origin/script-tag/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin-when-cross-origin/script-tag/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin-when-cross-origin/script-tag/cross-http.swap-origin.http.html
index 3faca3e..e7992c5 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin-when-cross-origin/script-tag/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin-when-cross-origin/script-tag/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin-when-cross-origin/script-tag/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin-when-cross-origin/script-tag/cross-https.keep-origin.http.html
index 8b91e88..be259c7 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin-when-cross-origin/script-tag/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin-when-cross-origin/script-tag/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin-when-cross-origin/script-tag/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin-when-cross-origin/script-tag/cross-https.no-redirect.http.html
index e3d695f..36794c29 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin-when-cross-origin/script-tag/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin-when-cross-origin/script-tag/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin-when-cross-origin/script-tag/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin-when-cross-origin/script-tag/cross-https.swap-origin.http.html
index 415c63a..5bc56aa 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin-when-cross-origin/script-tag/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin-when-cross-origin/script-tag/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin-when-cross-origin/script-tag/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin-when-cross-origin/script-tag/same-http.keep-origin.http.html
index b175b50..a2456da 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin-when-cross-origin/script-tag/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin-when-cross-origin/script-tag/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin-when-cross-origin/script-tag/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin-when-cross-origin/script-tag/same-http.no-redirect.http.html
index 980f9fe5..2bcad4b 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin-when-cross-origin/script-tag/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin-when-cross-origin/script-tag/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin-when-cross-origin/script-tag/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin-when-cross-origin/script-tag/same-http.swap-origin.http.html
index c1fc591..598bfaae 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin-when-cross-origin/script-tag/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin-when-cross-origin/script-tag/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin-when-cross-origin/script-tag/same-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin-when-cross-origin/script-tag/same-https.keep-origin.http.html
index a3eade8..7714855 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin-when-cross-origin/script-tag/same-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin-when-cross-origin/script-tag/same-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin-when-cross-origin/script-tag/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin-when-cross-origin/script-tag/same-https.no-redirect.http.html
index 5368c701..01d76e15 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin-when-cross-origin/script-tag/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin-when-cross-origin/script-tag/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin-when-cross-origin/script-tag/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin-when-cross-origin/script-tag/same-https.swap-origin.http.html
index 4e41cc2..b9390a5 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin-when-cross-origin/script-tag/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin-when-cross-origin/script-tag/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin/a-tag/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin/a-tag/cross-http.no-redirect.http.html
index 6a499ac..9d9b1bd 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin/a-tag/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin/a-tag/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin/a-tag/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin/a-tag/cross-https.no-redirect.http.html
index e2a6981..f162894 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin/a-tag/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin/a-tag/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin/a-tag/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin/a-tag/same-http.no-redirect.http.html
index 83b4dec2..0b313b0 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin/a-tag/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin/a-tag/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin/a-tag/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin/a-tag/same-https.no-redirect.http.html
index 03f7ee3..0128704 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin/a-tag/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin/a-tag/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin/iframe-tag/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin/iframe-tag/cross-http.keep-origin.http.html
index 7e1d06ba..00761ad 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin/iframe-tag/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin/iframe-tag/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin/iframe-tag/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin/iframe-tag/cross-http.no-redirect.http.html
index ebcf709..f1cae87 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin/iframe-tag/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin/iframe-tag/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin/iframe-tag/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin/iframe-tag/cross-http.swap-origin.http.html
index a7c55c2..62ae86eb 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin/iframe-tag/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin/iframe-tag/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin/iframe-tag/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin/iframe-tag/cross-https.keep-origin.http.html
index 9715246..c93a1b1 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin/iframe-tag/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin/iframe-tag/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin/iframe-tag/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin/iframe-tag/cross-https.no-redirect.http.html
index 5356524..3fd1d70 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin/iframe-tag/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin/iframe-tag/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin/iframe-tag/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin/iframe-tag/cross-https.swap-origin.http.html
index a8d20be..abe9474 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin/iframe-tag/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin/iframe-tag/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin/iframe-tag/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin/iframe-tag/same-http.keep-origin.http.html
index 67087b4..5d7d67b 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin/iframe-tag/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin/iframe-tag/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin/iframe-tag/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin/iframe-tag/same-http.no-redirect.http.html
index 26f80cd..319a779 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin/iframe-tag/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin/iframe-tag/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin/iframe-tag/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin/iframe-tag/same-http.swap-origin.http.html
index 1cd4e595..e13bef6d 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin/iframe-tag/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin/iframe-tag/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin/iframe-tag/same-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin/iframe-tag/same-https.keep-origin.http.html
index 354e69c..63adf81 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin/iframe-tag/same-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin/iframe-tag/same-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin/iframe-tag/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin/iframe-tag/same-https.no-redirect.http.html
index 6306053..75586b60 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin/iframe-tag/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin/iframe-tag/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin/iframe-tag/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin/iframe-tag/same-https.swap-origin.http.html
index 3aafb5a..712f03f 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin/iframe-tag/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin/iframe-tag/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin/img-tag/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin/img-tag/cross-http.keep-origin.http.html
index 3067e3d..8ce106ce 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin/img-tag/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin/img-tag/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin/img-tag/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin/img-tag/cross-http.no-redirect.http.html
index 15776d7..5675244 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin/img-tag/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin/img-tag/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin/img-tag/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin/img-tag/cross-http.swap-origin.http.html
index c4876ce..931513b 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin/img-tag/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin/img-tag/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin/img-tag/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin/img-tag/cross-https.keep-origin.http.html
index 916e625..5e4f20c 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin/img-tag/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin/img-tag/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin/img-tag/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin/img-tag/cross-https.no-redirect.http.html
index 22a136b8..0083ce1db 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin/img-tag/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin/img-tag/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin/img-tag/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin/img-tag/cross-https.swap-origin.http.html
index 795ea31..122d9db 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin/img-tag/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin/img-tag/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin/img-tag/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin/img-tag/same-http.keep-origin.http.html
index aa74072..2b1ad4e 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin/img-tag/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin/img-tag/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin/img-tag/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin/img-tag/same-http.no-redirect.http.html
index 32ae947..7380faa 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin/img-tag/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin/img-tag/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin/img-tag/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin/img-tag/same-http.swap-origin.http.html
index 4938c5f4..d2bec8f 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin/img-tag/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin/img-tag/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin/img-tag/same-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin/img-tag/same-https.keep-origin.http.html
index b298ce7..d6a5bba 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin/img-tag/same-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin/img-tag/same-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin/img-tag/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin/img-tag/same-https.no-redirect.http.html
index 4a76807..ab218846 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin/img-tag/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin/img-tag/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin/img-tag/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin/img-tag/same-https.swap-origin.http.html
index 7fa0b3d..b54fd75 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin/img-tag/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin/img-tag/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin/script-tag/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin/script-tag/cross-http.keep-origin.http.html
index 8ede2b4..2cbb8d5 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin/script-tag/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin/script-tag/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin/script-tag/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin/script-tag/cross-http.no-redirect.http.html
index c3a7d77..2687643 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin/script-tag/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin/script-tag/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin/script-tag/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin/script-tag/cross-http.swap-origin.http.html
index d6417c6..430d1d6a 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin/script-tag/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin/script-tag/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin/script-tag/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin/script-tag/cross-https.keep-origin.http.html
index 26f266b..3378092 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin/script-tag/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin/script-tag/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin/script-tag/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin/script-tag/cross-https.no-redirect.http.html
index 73634247..be20f46 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin/script-tag/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin/script-tag/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin/script-tag/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin/script-tag/cross-https.swap-origin.http.html
index 9f713c50..bc0087c1 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin/script-tag/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin/script-tag/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin/script-tag/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin/script-tag/same-http.keep-origin.http.html
index 6e3d724..8ad0755 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin/script-tag/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin/script-tag/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin/script-tag/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin/script-tag/same-http.no-redirect.http.html
index 04ba8e7..eef9696 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin/script-tag/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin/script-tag/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin/script-tag/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin/script-tag/same-http.swap-origin.http.html
index 328bbc0..54f0164 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin/script-tag/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin/script-tag/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin/script-tag/same-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin/script-tag/same-https.keep-origin.http.html
index a87ad9b..3c64bb16 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin/script-tag/same-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin/script-tag/same-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin/script-tag/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin/script-tag/same-https.no-redirect.http.html
index c7c88ff..15f5ac3 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin/script-tag/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin/script-tag/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin/script-tag/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin/script-tag/same-https.swap-origin.http.html
index 80cd677c..f6086fd 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin/script-tag/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/origin/script-tag/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/same-origin/a-tag/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/same-origin/a-tag/cross-http.no-redirect.http.html
index c132af5e..3e5532b 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/same-origin/a-tag/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/same-origin/a-tag/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/same-origin/a-tag/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/same-origin/a-tag/cross-https.no-redirect.http.html
index b00a34e..573cde5 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/same-origin/a-tag/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/same-origin/a-tag/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/same-origin/a-tag/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/same-origin/a-tag/same-http.no-redirect.http.html
index 0daede6..cd85233 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/same-origin/a-tag/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/same-origin/a-tag/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/same-origin/iframe-tag/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/same-origin/iframe-tag/cross-http.keep-origin.http.html
index e498846..fed49b9 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/same-origin/iframe-tag/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/same-origin/iframe-tag/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/same-origin/iframe-tag/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/same-origin/iframe-tag/cross-http.no-redirect.http.html
index 90d3920..3ef4810 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/same-origin/iframe-tag/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/same-origin/iframe-tag/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/same-origin/iframe-tag/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/same-origin/iframe-tag/cross-http.swap-origin.http.html
index 596d3da..8e732347 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/same-origin/iframe-tag/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/same-origin/iframe-tag/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/same-origin/iframe-tag/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/same-origin/iframe-tag/cross-https.keep-origin.http.html
index 45ff588..8aef178 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/same-origin/iframe-tag/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/same-origin/iframe-tag/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/same-origin/iframe-tag/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/same-origin/iframe-tag/cross-https.no-redirect.http.html
index bb6f769..b44ea31 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/same-origin/iframe-tag/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/same-origin/iframe-tag/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/same-origin/iframe-tag/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/same-origin/iframe-tag/cross-https.swap-origin.http.html
index a825c3b..53e57b9 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/same-origin/iframe-tag/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/same-origin/iframe-tag/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/same-origin/iframe-tag/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/same-origin/iframe-tag/same-http.keep-origin.http.html
index b4d5446..03022ad 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/same-origin/iframe-tag/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/same-origin/iframe-tag/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/same-origin/iframe-tag/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/same-origin/iframe-tag/same-http.no-redirect.http.html
index ddf2d81..4d52acc 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/same-origin/iframe-tag/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/same-origin/iframe-tag/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/same-origin/iframe-tag/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/same-origin/iframe-tag/same-http.swap-origin.http.html
index 10e3141..5c13d6d9 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/same-origin/iframe-tag/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/same-origin/iframe-tag/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/same-origin/iframe-tag/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/same-origin/iframe-tag/same-https.swap-origin.http.html
index 7f82d17..a902222 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/same-origin/iframe-tag/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/same-origin/iframe-tag/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/same-origin/img-tag/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/same-origin/img-tag/cross-http.keep-origin.http.html
index ac8d2f6..937365c 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/same-origin/img-tag/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/same-origin/img-tag/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/same-origin/img-tag/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/same-origin/img-tag/cross-http.no-redirect.http.html
index ccaeff2..dfb394b 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/same-origin/img-tag/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/same-origin/img-tag/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/same-origin/img-tag/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/same-origin/img-tag/cross-http.swap-origin.http.html
index e831f57..c526d6b 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/same-origin/img-tag/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/same-origin/img-tag/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/same-origin/img-tag/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/same-origin/img-tag/cross-https.keep-origin.http.html
index a8f6e1ff..57610c1 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/same-origin/img-tag/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/same-origin/img-tag/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/same-origin/img-tag/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/same-origin/img-tag/cross-https.no-redirect.http.html
index e46908a..fe45010 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/same-origin/img-tag/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/same-origin/img-tag/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/same-origin/img-tag/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/same-origin/img-tag/cross-https.swap-origin.http.html
index 9f818b1..15cbf00 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/same-origin/img-tag/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/same-origin/img-tag/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/same-origin/img-tag/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/same-origin/img-tag/same-http.keep-origin.http.html
index 6b953df..7b9cf781 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/same-origin/img-tag/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/same-origin/img-tag/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/same-origin/img-tag/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/same-origin/img-tag/same-http.no-redirect.http.html
index e452225..def3201 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/same-origin/img-tag/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/same-origin/img-tag/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/same-origin/img-tag/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/same-origin/img-tag/same-http.swap-origin.http.html
index 43736c1..d989fee 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/same-origin/img-tag/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/same-origin/img-tag/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/same-origin/img-tag/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/same-origin/img-tag/same-https.swap-origin.http.html
index a786c73..c2f6fd8 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/same-origin/img-tag/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/same-origin/img-tag/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/same-origin/script-tag/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/same-origin/script-tag/cross-http.keep-origin.http.html
index ee30862a..068e98a 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/same-origin/script-tag/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/same-origin/script-tag/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/same-origin/script-tag/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/same-origin/script-tag/cross-http.no-redirect.http.html
index aea1e262..e3b6aaa 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/same-origin/script-tag/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/same-origin/script-tag/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/same-origin/script-tag/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/same-origin/script-tag/cross-http.swap-origin.http.html
index fd2c8b97..e2cd2fb 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/same-origin/script-tag/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/same-origin/script-tag/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/same-origin/script-tag/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/same-origin/script-tag/cross-https.keep-origin.http.html
index 2a3a5ca9..2df9945 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/same-origin/script-tag/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/same-origin/script-tag/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/same-origin/script-tag/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/same-origin/script-tag/cross-https.no-redirect.http.html
index 3c7dc4e..33d92f2 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/same-origin/script-tag/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/same-origin/script-tag/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/same-origin/script-tag/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/same-origin/script-tag/cross-https.swap-origin.http.html
index 6048d78..9f33d1c 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/same-origin/script-tag/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/same-origin/script-tag/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/same-origin/script-tag/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/same-origin/script-tag/same-http.keep-origin.http.html
index 1bf3ab3..030faa96 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/same-origin/script-tag/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/same-origin/script-tag/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/same-origin/script-tag/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/same-origin/script-tag/same-http.no-redirect.http.html
index 31e1c71..57ce65b 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/same-origin/script-tag/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/same-origin/script-tag/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/same-origin/script-tag/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/same-origin/script-tag/same-http.swap-origin.http.html
index 15d8229..cd28b80 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/same-origin/script-tag/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/same-origin/script-tag/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/same-origin/script-tag/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/same-origin/script-tag/same-https.swap-origin.http.html
index bf626841..696ede1 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/same-origin/script-tag/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/same-origin/script-tag/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin-when-cross-origin/a-tag/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin-when-cross-origin/a-tag/cross-http.no-redirect.http.html
index aea84a0d..325ce556 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin-when-cross-origin/a-tag/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin-when-cross-origin/a-tag/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin-when-cross-origin/a-tag/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin-when-cross-origin/a-tag/cross-https.no-redirect.http.html
index 0994a34..c196fb0 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin-when-cross-origin/a-tag/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin-when-cross-origin/a-tag/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin-when-cross-origin/a-tag/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin-when-cross-origin/a-tag/same-http.no-redirect.http.html
index bb0dc70..5b65046 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin-when-cross-origin/a-tag/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin-when-cross-origin/a-tag/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin-when-cross-origin/a-tag/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin-when-cross-origin/a-tag/same-https.no-redirect.http.html
index d899449..cb23c09 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin-when-cross-origin/a-tag/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin-when-cross-origin/a-tag/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin-when-cross-origin/iframe-tag/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin-when-cross-origin/iframe-tag/cross-http.keep-origin.http.html
index b66b1b0..b2694ba 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin-when-cross-origin/iframe-tag/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin-when-cross-origin/iframe-tag/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin-when-cross-origin/iframe-tag/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin-when-cross-origin/iframe-tag/cross-http.no-redirect.http.html
index ec985b180..6248afd 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin-when-cross-origin/iframe-tag/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin-when-cross-origin/iframe-tag/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin-when-cross-origin/iframe-tag/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin-when-cross-origin/iframe-tag/cross-http.swap-origin.http.html
index e597c1d..5b04e9f 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin-when-cross-origin/iframe-tag/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin-when-cross-origin/iframe-tag/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin-when-cross-origin/iframe-tag/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin-when-cross-origin/iframe-tag/cross-https.keep-origin.http.html
index e932d3cd..9cb21a406 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin-when-cross-origin/iframe-tag/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin-when-cross-origin/iframe-tag/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin-when-cross-origin/iframe-tag/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin-when-cross-origin/iframe-tag/cross-https.no-redirect.http.html
index 83f05ad..ba99560 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin-when-cross-origin/iframe-tag/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin-when-cross-origin/iframe-tag/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin-when-cross-origin/iframe-tag/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin-when-cross-origin/iframe-tag/cross-https.swap-origin.http.html
index 23c8ba7..7538d3b 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin-when-cross-origin/iframe-tag/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin-when-cross-origin/iframe-tag/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin-when-cross-origin/iframe-tag/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin-when-cross-origin/iframe-tag/same-http.keep-origin.http.html
index d63e2f8ab..e8b1a64 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin-when-cross-origin/iframe-tag/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin-when-cross-origin/iframe-tag/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin-when-cross-origin/iframe-tag/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin-when-cross-origin/iframe-tag/same-http.no-redirect.http.html
index 6e26623..7da4311 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin-when-cross-origin/iframe-tag/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin-when-cross-origin/iframe-tag/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin-when-cross-origin/iframe-tag/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin-when-cross-origin/iframe-tag/same-http.swap-origin.http.html
index c4ae133..4d2d67e 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin-when-cross-origin/iframe-tag/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin-when-cross-origin/iframe-tag/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin-when-cross-origin/iframe-tag/same-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin-when-cross-origin/iframe-tag/same-https.keep-origin.http.html
index 5cf1e2fe3..9cbeb0b 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin-when-cross-origin/iframe-tag/same-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin-when-cross-origin/iframe-tag/same-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin-when-cross-origin/iframe-tag/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin-when-cross-origin/iframe-tag/same-https.no-redirect.http.html
index 0ac920f..7e49773 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin-when-cross-origin/iframe-tag/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin-when-cross-origin/iframe-tag/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin-when-cross-origin/iframe-tag/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin-when-cross-origin/iframe-tag/same-https.swap-origin.http.html
index f6dd7e9..294e449 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin-when-cross-origin/iframe-tag/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin-when-cross-origin/iframe-tag/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin-when-cross-origin/img-tag/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin-when-cross-origin/img-tag/cross-http.keep-origin.http.html
index a69f7cb..e4f989d 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin-when-cross-origin/img-tag/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin-when-cross-origin/img-tag/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin-when-cross-origin/img-tag/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin-when-cross-origin/img-tag/cross-http.no-redirect.http.html
index 35d1a5c..c6070e68 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin-when-cross-origin/img-tag/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin-when-cross-origin/img-tag/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin-when-cross-origin/img-tag/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin-when-cross-origin/img-tag/cross-http.swap-origin.http.html
index b4dd950..e65abe5 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin-when-cross-origin/img-tag/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin-when-cross-origin/img-tag/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin-when-cross-origin/img-tag/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin-when-cross-origin/img-tag/cross-https.keep-origin.http.html
index 1872f9e..492cfa1 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin-when-cross-origin/img-tag/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin-when-cross-origin/img-tag/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin-when-cross-origin/img-tag/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin-when-cross-origin/img-tag/cross-https.no-redirect.http.html
index f27cb2d..99342cd 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin-when-cross-origin/img-tag/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin-when-cross-origin/img-tag/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin-when-cross-origin/img-tag/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin-when-cross-origin/img-tag/cross-https.swap-origin.http.html
index cf687c5d..5ef973da 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin-when-cross-origin/img-tag/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin-when-cross-origin/img-tag/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin-when-cross-origin/img-tag/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin-when-cross-origin/img-tag/same-http.keep-origin.http.html
index 9e01d7b..50542680 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin-when-cross-origin/img-tag/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin-when-cross-origin/img-tag/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin-when-cross-origin/img-tag/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin-when-cross-origin/img-tag/same-http.no-redirect.http.html
index 06ce423..888f6b0 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin-when-cross-origin/img-tag/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin-when-cross-origin/img-tag/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin-when-cross-origin/img-tag/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin-when-cross-origin/img-tag/same-http.swap-origin.http.html
index e7a6839a..ee84fa6 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin-when-cross-origin/img-tag/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin-when-cross-origin/img-tag/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin-when-cross-origin/img-tag/same-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin-when-cross-origin/img-tag/same-https.keep-origin.http.html
index eac87cd5..d9d2f5f 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin-when-cross-origin/img-tag/same-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin-when-cross-origin/img-tag/same-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin-when-cross-origin/img-tag/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin-when-cross-origin/img-tag/same-https.no-redirect.http.html
index f03eef84..7c297e2 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin-when-cross-origin/img-tag/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin-when-cross-origin/img-tag/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin-when-cross-origin/img-tag/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin-when-cross-origin/img-tag/same-https.swap-origin.http.html
index 1571447..49c6b57 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin-when-cross-origin/img-tag/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin-when-cross-origin/img-tag/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin-when-cross-origin/script-tag/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin-when-cross-origin/script-tag/cross-http.keep-origin.http.html
index bc00f9f..a8fb6ef 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin-when-cross-origin/script-tag/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin-when-cross-origin/script-tag/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin-when-cross-origin/script-tag/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin-when-cross-origin/script-tag/cross-http.no-redirect.http.html
index eab14c1..b193730 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin-when-cross-origin/script-tag/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin-when-cross-origin/script-tag/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin-when-cross-origin/script-tag/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin-when-cross-origin/script-tag/cross-http.swap-origin.http.html
index 6a100c6..161b2d59 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin-when-cross-origin/script-tag/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin-when-cross-origin/script-tag/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin-when-cross-origin/script-tag/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin-when-cross-origin/script-tag/cross-https.keep-origin.http.html
index c02c82a..9e7fa6a4 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin-when-cross-origin/script-tag/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin-when-cross-origin/script-tag/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin-when-cross-origin/script-tag/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin-when-cross-origin/script-tag/cross-https.no-redirect.http.html
index c9886904..8ca0223 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin-when-cross-origin/script-tag/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin-when-cross-origin/script-tag/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin-when-cross-origin/script-tag/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin-when-cross-origin/script-tag/cross-https.swap-origin.http.html
index 3f8a555d..88382eb 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin-when-cross-origin/script-tag/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin-when-cross-origin/script-tag/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin-when-cross-origin/script-tag/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin-when-cross-origin/script-tag/same-http.keep-origin.http.html
index f722ac8..0be2f85 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin-when-cross-origin/script-tag/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin-when-cross-origin/script-tag/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin-when-cross-origin/script-tag/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin-when-cross-origin/script-tag/same-http.no-redirect.http.html
index b73d5f4..adf5eaf5 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin-when-cross-origin/script-tag/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin-when-cross-origin/script-tag/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin-when-cross-origin/script-tag/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin-when-cross-origin/script-tag/same-http.swap-origin.http.html
index 116775c57..c387986f 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin-when-cross-origin/script-tag/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin-when-cross-origin/script-tag/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin-when-cross-origin/script-tag/same-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin-when-cross-origin/script-tag/same-https.keep-origin.http.html
index e239c32..f2e617c 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin-when-cross-origin/script-tag/same-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin-when-cross-origin/script-tag/same-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin-when-cross-origin/script-tag/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin-when-cross-origin/script-tag/same-https.no-redirect.http.html
index 0562e65..4c997eb 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin-when-cross-origin/script-tag/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin-when-cross-origin/script-tag/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin-when-cross-origin/script-tag/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin-when-cross-origin/script-tag/same-https.swap-origin.http.html
index 8b4e58f..78295c3 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin-when-cross-origin/script-tag/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin-when-cross-origin/script-tag/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin/a-tag/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin/a-tag/cross-http.no-redirect.http.html
index 8b976a67..bd60523 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin/a-tag/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin/a-tag/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin/a-tag/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin/a-tag/cross-https.no-redirect.http.html
index 5673e9b..1752200 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin/a-tag/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin/a-tag/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin/a-tag/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin/a-tag/same-http.no-redirect.http.html
index 735f518..6dd3cdfe 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin/a-tag/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin/a-tag/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin/a-tag/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin/a-tag/same-https.no-redirect.http.html
index cef1d59..622ec8dd 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin/a-tag/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin/a-tag/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin/iframe-tag/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin/iframe-tag/cross-http.keep-origin.http.html
index be5d9d7..8c34508b 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin/iframe-tag/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin/iframe-tag/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin/iframe-tag/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin/iframe-tag/cross-http.no-redirect.http.html
index 2902ab2..bae4e26 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin/iframe-tag/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin/iframe-tag/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin/iframe-tag/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin/iframe-tag/cross-http.swap-origin.http.html
index 6beef10..5baa0abc 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin/iframe-tag/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin/iframe-tag/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin/iframe-tag/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin/iframe-tag/cross-https.keep-origin.http.html
index 2d1a594..78a9ed73 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin/iframe-tag/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin/iframe-tag/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin/iframe-tag/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin/iframe-tag/cross-https.no-redirect.http.html
index 4c024ea..02f50c1 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin/iframe-tag/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin/iframe-tag/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin/iframe-tag/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin/iframe-tag/cross-https.swap-origin.http.html
index a1b105c..da8f028 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin/iframe-tag/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin/iframe-tag/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin/iframe-tag/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin/iframe-tag/same-http.keep-origin.http.html
index 482e55d..8706697 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin/iframe-tag/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin/iframe-tag/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin/iframe-tag/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin/iframe-tag/same-http.no-redirect.http.html
index 25a79af..389acd1 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin/iframe-tag/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin/iframe-tag/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin/iframe-tag/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin/iframe-tag/same-http.swap-origin.http.html
index ddc5e11..477c7e0 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin/iframe-tag/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin/iframe-tag/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin/iframe-tag/same-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin/iframe-tag/same-https.keep-origin.http.html
index 57d4177..a11c209 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin/iframe-tag/same-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin/iframe-tag/same-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin/iframe-tag/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin/iframe-tag/same-https.no-redirect.http.html
index d1921eb21..7007de5 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin/iframe-tag/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin/iframe-tag/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin/iframe-tag/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin/iframe-tag/same-https.swap-origin.http.html
index f40f2eaf..b0a5a73e 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin/iframe-tag/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin/iframe-tag/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin/img-tag/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin/img-tag/cross-http.keep-origin.http.html
index 9e6ab78..f2af0cdd 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin/img-tag/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin/img-tag/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin/img-tag/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin/img-tag/cross-http.no-redirect.http.html
index a0812e5..7ebadca 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin/img-tag/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin/img-tag/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin/img-tag/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin/img-tag/cross-http.swap-origin.http.html
index f68375a2..c944ba3 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin/img-tag/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin/img-tag/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin/img-tag/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin/img-tag/cross-https.keep-origin.http.html
index 0aa61109..9e7d441 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin/img-tag/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin/img-tag/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin/img-tag/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin/img-tag/cross-https.no-redirect.http.html
index 699c949..4c98969 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin/img-tag/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin/img-tag/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin/img-tag/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin/img-tag/cross-https.swap-origin.http.html
index edcb7e6..c7bdb8fc 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin/img-tag/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin/img-tag/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin/img-tag/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin/img-tag/same-http.keep-origin.http.html
index 280d9773d..2064a1139 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin/img-tag/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin/img-tag/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin/img-tag/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin/img-tag/same-http.no-redirect.http.html
index d79049c..46615b0 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin/img-tag/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin/img-tag/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin/img-tag/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin/img-tag/same-http.swap-origin.http.html
index b1287ef3..b575c0f 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin/img-tag/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin/img-tag/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin/img-tag/same-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin/img-tag/same-https.keep-origin.http.html
index f98975f..4bfef37 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin/img-tag/same-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin/img-tag/same-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin/img-tag/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin/img-tag/same-https.no-redirect.http.html
index 85afeed..0aabad4 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin/img-tag/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin/img-tag/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin/img-tag/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin/img-tag/same-https.swap-origin.http.html
index 15f1638..edb3036e 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin/img-tag/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin/img-tag/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin/script-tag/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin/script-tag/cross-http.keep-origin.http.html
index f95dec72..826028837 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin/script-tag/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin/script-tag/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin/script-tag/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin/script-tag/cross-http.no-redirect.http.html
index 67bc6a27..944014e 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin/script-tag/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin/script-tag/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin/script-tag/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin/script-tag/cross-http.swap-origin.http.html
index 747ee1a2..2c5dc87 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin/script-tag/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin/script-tag/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin/script-tag/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin/script-tag/cross-https.keep-origin.http.html
index 31911f76..0d2d6e2 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin/script-tag/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin/script-tag/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin/script-tag/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin/script-tag/cross-https.no-redirect.http.html
index ea5cf73..7b29aa4 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin/script-tag/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin/script-tag/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin/script-tag/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin/script-tag/cross-https.swap-origin.http.html
index efbf5f7..0dab8adc 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin/script-tag/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin/script-tag/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin/script-tag/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin/script-tag/same-http.keep-origin.http.html
index 91a80a43..4b87d5ce 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin/script-tag/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin/script-tag/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin/script-tag/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin/script-tag/same-http.no-redirect.http.html
index 99b1133e..2accd88 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin/script-tag/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin/script-tag/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin/script-tag/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin/script-tag/same-http.swap-origin.http.html
index ebcce31..1ddbaac99 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin/script-tag/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin/script-tag/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin/script-tag/same-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin/script-tag/same-https.keep-origin.http.html
index dc1687f..d1f6dc24 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin/script-tag/same-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin/script-tag/same-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin/script-tag/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin/script-tag/same-https.no-redirect.http.html
index 51b104e..727c735 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin/script-tag/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin/script-tag/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin/script-tag/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin/script-tag/same-https.swap-origin.http.html
index 8f4e1a6..da7cf0d3 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin/script-tag/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/strict-origin/script-tag/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/unsafe-url/a-tag/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/unsafe-url/a-tag/cross-http.no-redirect.http.html
index 30dc74a8..fd9dd2c 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/unsafe-url/a-tag/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/unsafe-url/a-tag/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/unsafe-url/a-tag/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/unsafe-url/a-tag/cross-https.no-redirect.http.html
index 7440fb4..88ce8ce 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/unsafe-url/a-tag/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/unsafe-url/a-tag/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/unsafe-url/a-tag/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/unsafe-url/a-tag/same-http.no-redirect.http.html
index c6ecdd7..b1cef331 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/unsafe-url/a-tag/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/unsafe-url/a-tag/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/unsafe-url/a-tag/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/unsafe-url/a-tag/same-https.no-redirect.http.html
index 83bf18c..637521d 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/unsafe-url/a-tag/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/unsafe-url/a-tag/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/unsafe-url/iframe-tag/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/unsafe-url/iframe-tag/cross-http.keep-origin.http.html
index 6a0e12f..24e85dd 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/unsafe-url/iframe-tag/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/unsafe-url/iframe-tag/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/unsafe-url/iframe-tag/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/unsafe-url/iframe-tag/cross-http.no-redirect.http.html
index 927d4254..75376cf 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/unsafe-url/iframe-tag/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/unsafe-url/iframe-tag/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/unsafe-url/iframe-tag/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/unsafe-url/iframe-tag/cross-http.swap-origin.http.html
index 04b8b64..75fb99c 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/unsafe-url/iframe-tag/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/unsafe-url/iframe-tag/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/unsafe-url/iframe-tag/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/unsafe-url/iframe-tag/cross-https.keep-origin.http.html
index 5991dea..f7138b9 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/unsafe-url/iframe-tag/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/unsafe-url/iframe-tag/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/unsafe-url/iframe-tag/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/unsafe-url/iframe-tag/cross-https.no-redirect.http.html
index 08b98abf..d5a2590 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/unsafe-url/iframe-tag/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/unsafe-url/iframe-tag/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/unsafe-url/iframe-tag/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/unsafe-url/iframe-tag/cross-https.swap-origin.http.html
index f55dbf2..2229e59 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/unsafe-url/iframe-tag/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/unsafe-url/iframe-tag/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/unsafe-url/iframe-tag/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/unsafe-url/iframe-tag/same-http.keep-origin.http.html
index a072402..5db08579 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/unsafe-url/iframe-tag/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/unsafe-url/iframe-tag/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/unsafe-url/iframe-tag/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/unsafe-url/iframe-tag/same-http.no-redirect.http.html
index 183cdcc..44351d5 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/unsafe-url/iframe-tag/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/unsafe-url/iframe-tag/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/unsafe-url/iframe-tag/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/unsafe-url/iframe-tag/same-http.swap-origin.http.html
index 1cdacdb..913cb289 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/unsafe-url/iframe-tag/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/unsafe-url/iframe-tag/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/unsafe-url/iframe-tag/same-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/unsafe-url/iframe-tag/same-https.keep-origin.http.html
index 2b93614..76ad177 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/unsafe-url/iframe-tag/same-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/unsafe-url/iframe-tag/same-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/unsafe-url/iframe-tag/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/unsafe-url/iframe-tag/same-https.no-redirect.http.html
index 2b86b1a..8e43576 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/unsafe-url/iframe-tag/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/unsafe-url/iframe-tag/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/unsafe-url/iframe-tag/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/unsafe-url/iframe-tag/same-https.swap-origin.http.html
index c20095f..a1b580de 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/unsafe-url/iframe-tag/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/unsafe-url/iframe-tag/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/unsafe-url/img-tag/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/unsafe-url/img-tag/cross-http.keep-origin.http.html
index ef9c806..b33395f37 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/unsafe-url/img-tag/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/unsafe-url/img-tag/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/unsafe-url/img-tag/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/unsafe-url/img-tag/cross-http.no-redirect.http.html
index 66c1237f..c70df3e 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/unsafe-url/img-tag/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/unsafe-url/img-tag/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/unsafe-url/img-tag/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/unsafe-url/img-tag/cross-http.swap-origin.http.html
index 82264806..2f7ed24 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/unsafe-url/img-tag/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/unsafe-url/img-tag/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/unsafe-url/img-tag/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/unsafe-url/img-tag/cross-https.keep-origin.http.html
index bcd8e106..d7ead3a 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/unsafe-url/img-tag/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/unsafe-url/img-tag/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/unsafe-url/img-tag/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/unsafe-url/img-tag/cross-https.no-redirect.http.html
index d31c60c2..1e49b66 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/unsafe-url/img-tag/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/unsafe-url/img-tag/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/unsafe-url/img-tag/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/unsafe-url/img-tag/cross-https.swap-origin.http.html
index 53593ca4..30b7794b 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/unsafe-url/img-tag/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/unsafe-url/img-tag/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/unsafe-url/img-tag/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/unsafe-url/img-tag/same-http.keep-origin.http.html
index 55d4f02..768d6ae 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/unsafe-url/img-tag/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/unsafe-url/img-tag/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/unsafe-url/img-tag/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/unsafe-url/img-tag/same-http.no-redirect.http.html
index 970f734..6675a82 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/unsafe-url/img-tag/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/unsafe-url/img-tag/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/unsafe-url/img-tag/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/unsafe-url/img-tag/same-http.swap-origin.http.html
index 402e089..85e5b3d 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/unsafe-url/img-tag/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/unsafe-url/img-tag/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/unsafe-url/img-tag/same-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/unsafe-url/img-tag/same-https.keep-origin.http.html
index 755b80e..0245978 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/unsafe-url/img-tag/same-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/unsafe-url/img-tag/same-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/unsafe-url/img-tag/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/unsafe-url/img-tag/same-https.no-redirect.http.html
index df3a93a..4c6d9d9 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/unsafe-url/img-tag/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/unsafe-url/img-tag/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/unsafe-url/img-tag/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/unsafe-url/img-tag/same-https.swap-origin.http.html
index 4e1ba92..d07f71d 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/unsafe-url/img-tag/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/unsafe-url/img-tag/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/unsafe-url/script-tag/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/unsafe-url/script-tag/cross-http.keep-origin.http.html
index 1404cb5..d0e4ac8 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/unsafe-url/script-tag/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/unsafe-url/script-tag/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/unsafe-url/script-tag/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/unsafe-url/script-tag/cross-http.no-redirect.http.html
index 7c3fe13..16636872 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/unsafe-url/script-tag/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/unsafe-url/script-tag/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/unsafe-url/script-tag/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/unsafe-url/script-tag/cross-http.swap-origin.http.html
index 749e596..e1ac5e2 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/unsafe-url/script-tag/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/unsafe-url/script-tag/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/unsafe-url/script-tag/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/unsafe-url/script-tag/cross-https.keep-origin.http.html
index 83a82e30c..96f7eb9 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/unsafe-url/script-tag/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/unsafe-url/script-tag/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/unsafe-url/script-tag/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/unsafe-url/script-tag/cross-https.no-redirect.http.html
index 49b86fb..a923529 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/unsafe-url/script-tag/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/unsafe-url/script-tag/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/unsafe-url/script-tag/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/unsafe-url/script-tag/cross-https.swap-origin.http.html
index 6d04bf37d..e27f8e54 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/unsafe-url/script-tag/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/unsafe-url/script-tag/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/unsafe-url/script-tag/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/unsafe-url/script-tag/same-http.keep-origin.http.html
index a0fb08e..ce44913a 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/unsafe-url/script-tag/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/unsafe-url/script-tag/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/unsafe-url/script-tag/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/unsafe-url/script-tag/same-http.no-redirect.http.html
index 10b61b1..9c39758 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/unsafe-url/script-tag/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/unsafe-url/script-tag/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/unsafe-url/script-tag/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/unsafe-url/script-tag/same-http.swap-origin.http.html
index 787f55f..5d7cdfa 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/unsafe-url/script-tag/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/unsafe-url/script-tag/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/unsafe-url/script-tag/same-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/unsafe-url/script-tag/same-https.keep-origin.http.html
index 6d379ea..333a9f0d 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/unsafe-url/script-tag/same-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/unsafe-url/script-tag/same-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/unsafe-url/script-tag/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/unsafe-url/script-tag/same-https.no-redirect.http.html
index 20d6a05e..cad09168 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/unsafe-url/script-tag/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/unsafe-url/script-tag/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/unsafe-url/script-tag/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/unsafe-url/script-tag/same-https.swap-origin.http.html
index d14f4b4..d0dac9e 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/unsafe-url/script-tag/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/req.attr/unsafe-url/script-tag/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/no-referrer-when-downgrade/img-tag/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/no-referrer-when-downgrade/img-tag/cross-http.keep-origin.http.html
index 6fcc2e48..ee374db 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/no-referrer-when-downgrade/img-tag/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/no-referrer-when-downgrade/img-tag/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/no-referrer-when-downgrade/img-tag/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/no-referrer-when-downgrade/img-tag/cross-http.no-redirect.http.html
index 12e41301..f07855e 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/no-referrer-when-downgrade/img-tag/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/no-referrer-when-downgrade/img-tag/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/no-referrer-when-downgrade/img-tag/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/no-referrer-when-downgrade/img-tag/cross-http.swap-origin.http.html
index e9da6d9..0bbd1f6 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/no-referrer-when-downgrade/img-tag/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/no-referrer-when-downgrade/img-tag/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/no-referrer-when-downgrade/img-tag/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/no-referrer-when-downgrade/img-tag/cross-https.keep-origin.http.html
index ab80ee8..a124514 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/no-referrer-when-downgrade/img-tag/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/no-referrer-when-downgrade/img-tag/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/no-referrer-when-downgrade/img-tag/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/no-referrer-when-downgrade/img-tag/cross-https.no-redirect.http.html
index fbde28c..1ed2c9b 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/no-referrer-when-downgrade/img-tag/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/no-referrer-when-downgrade/img-tag/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/no-referrer-when-downgrade/img-tag/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/no-referrer-when-downgrade/img-tag/cross-https.swap-origin.http.html
index 5acd29b..c67304f 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/no-referrer-when-downgrade/img-tag/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/no-referrer-when-downgrade/img-tag/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/no-referrer-when-downgrade/img-tag/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/no-referrer-when-downgrade/img-tag/same-http.keep-origin.http.html
index bed037e..3b1075f8 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/no-referrer-when-downgrade/img-tag/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/no-referrer-when-downgrade/img-tag/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/no-referrer-when-downgrade/img-tag/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/no-referrer-when-downgrade/img-tag/same-http.no-redirect.http.html
index d33cdb5..7dbd2db9 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/no-referrer-when-downgrade/img-tag/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/no-referrer-when-downgrade/img-tag/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/no-referrer-when-downgrade/img-tag/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/no-referrer-when-downgrade/img-tag/same-http.swap-origin.http.html
index 2d81ef0..38102045 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/no-referrer-when-downgrade/img-tag/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/no-referrer-when-downgrade/img-tag/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/no-referrer-when-downgrade/img-tag/same-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/no-referrer-when-downgrade/img-tag/same-https.keep-origin.http.html
index 248935bd..d0e6457 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/no-referrer-when-downgrade/img-tag/same-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/no-referrer-when-downgrade/img-tag/same-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/no-referrer-when-downgrade/img-tag/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/no-referrer-when-downgrade/img-tag/same-https.no-redirect.http.html
index 029653aa..e2a9288 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/no-referrer-when-downgrade/img-tag/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/no-referrer-when-downgrade/img-tag/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/no-referrer-when-downgrade/img-tag/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/no-referrer-when-downgrade/img-tag/same-https.swap-origin.http.html
index b316385..b6bea77 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/no-referrer-when-downgrade/img-tag/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/no-referrer-when-downgrade/img-tag/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/no-referrer/img-tag/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/no-referrer/img-tag/cross-http.keep-origin.http.html
index 3dcdae2..a13393d 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/no-referrer/img-tag/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/no-referrer/img-tag/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/no-referrer/img-tag/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/no-referrer/img-tag/cross-http.no-redirect.http.html
index 54e3508..2d98e36 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/no-referrer/img-tag/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/no-referrer/img-tag/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/no-referrer/img-tag/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/no-referrer/img-tag/cross-http.swap-origin.http.html
index a12aba3..dbdcf2f 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/no-referrer/img-tag/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/no-referrer/img-tag/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/no-referrer/img-tag/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/no-referrer/img-tag/cross-https.keep-origin.http.html
index 75a3ffd..4caf1ae 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/no-referrer/img-tag/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/no-referrer/img-tag/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/no-referrer/img-tag/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/no-referrer/img-tag/cross-https.no-redirect.http.html
index 6cc9885..2758b19 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/no-referrer/img-tag/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/no-referrer/img-tag/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/no-referrer/img-tag/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/no-referrer/img-tag/cross-https.swap-origin.http.html
index 4a167e26..cfcc2e04 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/no-referrer/img-tag/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/no-referrer/img-tag/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/no-referrer/img-tag/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/no-referrer/img-tag/same-http.keep-origin.http.html
index 5f3f073..88610a1 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/no-referrer/img-tag/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/no-referrer/img-tag/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/no-referrer/img-tag/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/no-referrer/img-tag/same-http.no-redirect.http.html
index 917e3df..7b6ddfe88 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/no-referrer/img-tag/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/no-referrer/img-tag/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/no-referrer/img-tag/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/no-referrer/img-tag/same-http.swap-origin.http.html
index 3aaa4bb..7228032 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/no-referrer/img-tag/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/no-referrer/img-tag/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/no-referrer/img-tag/same-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/no-referrer/img-tag/same-https.keep-origin.http.html
index 4af2bcab..9654700 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/no-referrer/img-tag/same-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/no-referrer/img-tag/same-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/no-referrer/img-tag/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/no-referrer/img-tag/same-https.no-redirect.http.html
index 92ec80b..281966f 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/no-referrer/img-tag/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/no-referrer/img-tag/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/no-referrer/img-tag/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/no-referrer/img-tag/same-https.swap-origin.http.html
index 4004fe5..6ea37da5 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/no-referrer/img-tag/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/no-referrer/img-tag/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/origin-when-cross-origin/img-tag/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/origin-when-cross-origin/img-tag/cross-http.keep-origin.http.html
index 5271514..67073e8b 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/origin-when-cross-origin/img-tag/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/origin-when-cross-origin/img-tag/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/origin-when-cross-origin/img-tag/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/origin-when-cross-origin/img-tag/cross-http.no-redirect.http.html
index 2e1d92a..f5796dc 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/origin-when-cross-origin/img-tag/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/origin-when-cross-origin/img-tag/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/origin-when-cross-origin/img-tag/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/origin-when-cross-origin/img-tag/cross-http.swap-origin.http.html
index ada402d0d..c7a33cd 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/origin-when-cross-origin/img-tag/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/origin-when-cross-origin/img-tag/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/origin-when-cross-origin/img-tag/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/origin-when-cross-origin/img-tag/cross-https.keep-origin.http.html
index fc8fe66..14ca80dc 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/origin-when-cross-origin/img-tag/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/origin-when-cross-origin/img-tag/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/origin-when-cross-origin/img-tag/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/origin-when-cross-origin/img-tag/cross-https.no-redirect.http.html
index 4fca6e92..6780c2a 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/origin-when-cross-origin/img-tag/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/origin-when-cross-origin/img-tag/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/origin-when-cross-origin/img-tag/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/origin-when-cross-origin/img-tag/cross-https.swap-origin.http.html
index 14fca890..27da471 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/origin-when-cross-origin/img-tag/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/origin-when-cross-origin/img-tag/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/origin-when-cross-origin/img-tag/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/origin-when-cross-origin/img-tag/same-http.keep-origin.http.html
index e265aad..8f4f9d2 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/origin-when-cross-origin/img-tag/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/origin-when-cross-origin/img-tag/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/origin-when-cross-origin/img-tag/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/origin-when-cross-origin/img-tag/same-http.no-redirect.http.html
index 0f91cfce..c00ffbc 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/origin-when-cross-origin/img-tag/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/origin-when-cross-origin/img-tag/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/origin-when-cross-origin/img-tag/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/origin-when-cross-origin/img-tag/same-http.swap-origin.http.html
index ecd2ced..9e6f4549 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/origin-when-cross-origin/img-tag/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/origin-when-cross-origin/img-tag/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/origin-when-cross-origin/img-tag/same-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/origin-when-cross-origin/img-tag/same-https.keep-origin.http.html
index 7f67bbb8..36d65e21 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/origin-when-cross-origin/img-tag/same-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/origin-when-cross-origin/img-tag/same-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/origin-when-cross-origin/img-tag/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/origin-when-cross-origin/img-tag/same-https.no-redirect.http.html
index 0e5ad8a..81fb47c8 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/origin-when-cross-origin/img-tag/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/origin-when-cross-origin/img-tag/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/origin-when-cross-origin/img-tag/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/origin-when-cross-origin/img-tag/same-https.swap-origin.http.html
index 5f53a1a..e8ea9b3 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/origin-when-cross-origin/img-tag/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/origin-when-cross-origin/img-tag/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/origin/img-tag/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/origin/img-tag/cross-http.keep-origin.http.html
index 7bf766f..247a4419 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/origin/img-tag/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/origin/img-tag/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/origin/img-tag/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/origin/img-tag/cross-http.no-redirect.http.html
index 2499907..0fdbc84 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/origin/img-tag/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/origin/img-tag/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/origin/img-tag/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/origin/img-tag/cross-http.swap-origin.http.html
index df82c1d..7600c38 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/origin/img-tag/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/origin/img-tag/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/origin/img-tag/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/origin/img-tag/cross-https.keep-origin.http.html
index b01e532..501653e 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/origin/img-tag/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/origin/img-tag/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/origin/img-tag/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/origin/img-tag/cross-https.no-redirect.http.html
index 35bdacc..f9a475e9 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/origin/img-tag/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/origin/img-tag/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/origin/img-tag/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/origin/img-tag/cross-https.swap-origin.http.html
index 1308365..6922e02e 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/origin/img-tag/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/origin/img-tag/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/origin/img-tag/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/origin/img-tag/same-http.keep-origin.http.html
index 2829b4d5..0c9d34a 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/origin/img-tag/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/origin/img-tag/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/origin/img-tag/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/origin/img-tag/same-http.no-redirect.http.html
index ffae539..9f1d2a8 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/origin/img-tag/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/origin/img-tag/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/origin/img-tag/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/origin/img-tag/same-http.swap-origin.http.html
index cc9d8e8b..6cd4fb7 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/origin/img-tag/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/origin/img-tag/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/origin/img-tag/same-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/origin/img-tag/same-https.keep-origin.http.html
index 9ad407a..1ec5f02 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/origin/img-tag/same-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/origin/img-tag/same-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/origin/img-tag/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/origin/img-tag/same-https.no-redirect.http.html
index 99b6147..2bf9d44 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/origin/img-tag/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/origin/img-tag/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/origin/img-tag/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/origin/img-tag/same-https.swap-origin.http.html
index 870752b..86e619b3 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/origin/img-tag/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/origin/img-tag/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/same-origin/img-tag/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/same-origin/img-tag/cross-http.keep-origin.http.html
index 60f1ea6..dcf44f7 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/same-origin/img-tag/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/same-origin/img-tag/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/same-origin/img-tag/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/same-origin/img-tag/cross-http.no-redirect.http.html
index e23fab8..effc5f8 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/same-origin/img-tag/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/same-origin/img-tag/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/same-origin/img-tag/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/same-origin/img-tag/cross-http.swap-origin.http.html
index c4c588c..d0cd5e0 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/same-origin/img-tag/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/same-origin/img-tag/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/same-origin/img-tag/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/same-origin/img-tag/cross-https.keep-origin.http.html
index 852b1235..1f01ba13 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/same-origin/img-tag/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/same-origin/img-tag/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/same-origin/img-tag/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/same-origin/img-tag/cross-https.no-redirect.http.html
index 905270aa..c028b78 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/same-origin/img-tag/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/same-origin/img-tag/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/same-origin/img-tag/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/same-origin/img-tag/cross-https.swap-origin.http.html
index faa4c95c..b3140585 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/same-origin/img-tag/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/same-origin/img-tag/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/same-origin/img-tag/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/same-origin/img-tag/same-http.keep-origin.http.html
index 33f9450..87ea9f08 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/same-origin/img-tag/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/same-origin/img-tag/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/same-origin/img-tag/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/same-origin/img-tag/same-http.no-redirect.http.html
index 94de2118..d009c2b4 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/same-origin/img-tag/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/same-origin/img-tag/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/same-origin/img-tag/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/same-origin/img-tag/same-http.swap-origin.http.html
index b830abc6..cd91112 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/same-origin/img-tag/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/same-origin/img-tag/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/same-origin/img-tag/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/same-origin/img-tag/same-https.swap-origin.http.html
index 56802e3..6efa1dc 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/same-origin/img-tag/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/same-origin/img-tag/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/strict-origin-when-cross-origin/img-tag/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/strict-origin-when-cross-origin/img-tag/cross-http.keep-origin.http.html
index 1c3f710..c05839c 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/strict-origin-when-cross-origin/img-tag/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/strict-origin-when-cross-origin/img-tag/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/strict-origin-when-cross-origin/img-tag/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/strict-origin-when-cross-origin/img-tag/cross-http.no-redirect.http.html
index 42d5bb7e..f7434f9 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/strict-origin-when-cross-origin/img-tag/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/strict-origin-when-cross-origin/img-tag/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/strict-origin-when-cross-origin/img-tag/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/strict-origin-when-cross-origin/img-tag/cross-http.swap-origin.http.html
index 68dcf2c..da127b6 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/strict-origin-when-cross-origin/img-tag/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/strict-origin-when-cross-origin/img-tag/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/strict-origin-when-cross-origin/img-tag/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/strict-origin-when-cross-origin/img-tag/cross-https.keep-origin.http.html
index da2ccc5..bb22295 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/strict-origin-when-cross-origin/img-tag/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/strict-origin-when-cross-origin/img-tag/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/strict-origin-when-cross-origin/img-tag/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/strict-origin-when-cross-origin/img-tag/cross-https.no-redirect.http.html
index 5f461dd4..2b4c9ac 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/strict-origin-when-cross-origin/img-tag/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/strict-origin-when-cross-origin/img-tag/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/strict-origin-when-cross-origin/img-tag/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/strict-origin-when-cross-origin/img-tag/cross-https.swap-origin.http.html
index 8b5ca0c..6534263 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/strict-origin-when-cross-origin/img-tag/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/strict-origin-when-cross-origin/img-tag/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/strict-origin-when-cross-origin/img-tag/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/strict-origin-when-cross-origin/img-tag/same-http.keep-origin.http.html
index 02e82e3..1d20034 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/strict-origin-when-cross-origin/img-tag/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/strict-origin-when-cross-origin/img-tag/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/strict-origin-when-cross-origin/img-tag/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/strict-origin-when-cross-origin/img-tag/same-http.no-redirect.http.html
index 9974b08..e722816 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/strict-origin-when-cross-origin/img-tag/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/strict-origin-when-cross-origin/img-tag/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/strict-origin-when-cross-origin/img-tag/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/strict-origin-when-cross-origin/img-tag/same-http.swap-origin.http.html
index 71255af6..3bd8c2a 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/strict-origin-when-cross-origin/img-tag/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/strict-origin-when-cross-origin/img-tag/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/strict-origin-when-cross-origin/img-tag/same-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/strict-origin-when-cross-origin/img-tag/same-https.keep-origin.http.html
index 7627c32..3d88338d 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/strict-origin-when-cross-origin/img-tag/same-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/strict-origin-when-cross-origin/img-tag/same-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/strict-origin-when-cross-origin/img-tag/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/strict-origin-when-cross-origin/img-tag/same-https.no-redirect.http.html
index 588c39a..4b84b70 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/strict-origin-when-cross-origin/img-tag/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/strict-origin-when-cross-origin/img-tag/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/strict-origin-when-cross-origin/img-tag/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/strict-origin-when-cross-origin/img-tag/same-https.swap-origin.http.html
index 9374e47..cceca42b 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/strict-origin-when-cross-origin/img-tag/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/strict-origin-when-cross-origin/img-tag/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/strict-origin/img-tag/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/strict-origin/img-tag/cross-http.keep-origin.http.html
index 27f377b..f5bc1f028 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/strict-origin/img-tag/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/strict-origin/img-tag/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/strict-origin/img-tag/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/strict-origin/img-tag/cross-http.no-redirect.http.html
index 3073e88..050e874 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/strict-origin/img-tag/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/strict-origin/img-tag/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/strict-origin/img-tag/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/strict-origin/img-tag/cross-http.swap-origin.http.html
index cb79472..14b3b90 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/strict-origin/img-tag/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/strict-origin/img-tag/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/strict-origin/img-tag/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/strict-origin/img-tag/cross-https.keep-origin.http.html
index 71af3259..3cc3447 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/strict-origin/img-tag/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/strict-origin/img-tag/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/strict-origin/img-tag/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/strict-origin/img-tag/cross-https.no-redirect.http.html
index 81d8cd1..01a0266 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/strict-origin/img-tag/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/strict-origin/img-tag/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/strict-origin/img-tag/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/strict-origin/img-tag/cross-https.swap-origin.http.html
index fc3807c8..573a019 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/strict-origin/img-tag/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/strict-origin/img-tag/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/strict-origin/img-tag/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/strict-origin/img-tag/same-http.keep-origin.http.html
index 86a50df7..99414a5 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/strict-origin/img-tag/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/strict-origin/img-tag/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/strict-origin/img-tag/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/strict-origin/img-tag/same-http.no-redirect.http.html
index c6e0d03..fcf931c 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/strict-origin/img-tag/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/strict-origin/img-tag/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/strict-origin/img-tag/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/strict-origin/img-tag/same-http.swap-origin.http.html
index 5d536fc..caabd00 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/strict-origin/img-tag/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/strict-origin/img-tag/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/strict-origin/img-tag/same-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/strict-origin/img-tag/same-https.keep-origin.http.html
index 74bd3a0..6b7e6a8 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/strict-origin/img-tag/same-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/strict-origin/img-tag/same-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/strict-origin/img-tag/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/strict-origin/img-tag/same-https.no-redirect.http.html
index d21bc0c..997119a 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/strict-origin/img-tag/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/strict-origin/img-tag/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/strict-origin/img-tag/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/strict-origin/img-tag/same-https.swap-origin.http.html
index 6b265bf..0a4d8e06 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/strict-origin/img-tag/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/strict-origin/img-tag/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/unsafe-url/img-tag/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/unsafe-url/img-tag/cross-http.keep-origin.http.html
index 8813bd80..6680d9a 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/unsafe-url/img-tag/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/unsafe-url/img-tag/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/unsafe-url/img-tag/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/unsafe-url/img-tag/cross-http.no-redirect.http.html
index 8465399f..c0f490f 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/unsafe-url/img-tag/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/unsafe-url/img-tag/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/unsafe-url/img-tag/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/unsafe-url/img-tag/cross-http.swap-origin.http.html
index 13645cd..04a8cdcf 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/unsafe-url/img-tag/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/unsafe-url/img-tag/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/unsafe-url/img-tag/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/unsafe-url/img-tag/cross-https.keep-origin.http.html
index a669d0a..f25896a 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/unsafe-url/img-tag/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/unsafe-url/img-tag/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/unsafe-url/img-tag/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/unsafe-url/img-tag/cross-https.no-redirect.http.html
index cedbee9f..119db9d 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/unsafe-url/img-tag/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/unsafe-url/img-tag/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/unsafe-url/img-tag/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/unsafe-url/img-tag/cross-https.swap-origin.http.html
index 5b2dba4..24fab1ee 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/unsafe-url/img-tag/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/unsafe-url/img-tag/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/unsafe-url/img-tag/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/unsafe-url/img-tag/same-http.keep-origin.http.html
index 909b92b..80d28c9 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/unsafe-url/img-tag/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/unsafe-url/img-tag/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/unsafe-url/img-tag/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/unsafe-url/img-tag/same-http.no-redirect.http.html
index 4c207021..1cfb750 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/unsafe-url/img-tag/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/unsafe-url/img-tag/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/unsafe-url/img-tag/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/unsafe-url/img-tag/same-http.swap-origin.http.html
index a8eb7fe..e72ba154 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/unsafe-url/img-tag/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/unsafe-url/img-tag/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/unsafe-url/img-tag/same-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/unsafe-url/img-tag/same-https.keep-origin.http.html
index d131ac3..bfeb494 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/unsafe-url/img-tag/same-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/unsafe-url/img-tag/same-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/unsafe-url/img-tag/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/unsafe-url/img-tag/same-https.no-redirect.http.html
index 83d055f..9ed0e1bf 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/unsafe-url/img-tag/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/unsafe-url/img-tag/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/unsafe-url/img-tag/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/unsafe-url/img-tag/same-https.swap-origin.http.html
index a8570a0..f976183 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/unsafe-url/img-tag/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/unsafe-url/img-tag/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/unset/img-tag/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/unset/img-tag/cross-http.keep-origin.http.html
index 6f7a990..f35f4f9 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/unset/img-tag/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/unset/img-tag/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/unset/img-tag/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/unset/img-tag/cross-http.no-redirect.http.html
index 372dc54..46e5033 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/unset/img-tag/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/unset/img-tag/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/unset/img-tag/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/unset/img-tag/cross-http.swap-origin.http.html
index a7c824a..7f04abb3 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/unset/img-tag/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/unset/img-tag/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/unset/img-tag/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/unset/img-tag/cross-https.keep-origin.http.html
index a6b479a..ce045a71 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/unset/img-tag/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/unset/img-tag/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/unset/img-tag/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/unset/img-tag/cross-https.no-redirect.http.html
index adf1a64..533660e 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/unset/img-tag/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/unset/img-tag/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/unset/img-tag/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/unset/img-tag/cross-https.swap-origin.http.html
index 8a5191c..4e35fb2b 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/unset/img-tag/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/unset/img-tag/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/unset/img-tag/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/unset/img-tag/same-http.keep-origin.http.html
index 3399f87..2ffa21d9 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/unset/img-tag/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/unset/img-tag/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/unset/img-tag/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/unset/img-tag/same-http.no-redirect.http.html
index 7c65038..74e83f4 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/unset/img-tag/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/unset/img-tag/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/unset/img-tag/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/unset/img-tag/same-http.swap-origin.http.html
index e5c6ef5..028f7da 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/unset/img-tag/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/unset/img-tag/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/unset/img-tag/same-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/unset/img-tag/same-https.keep-origin.http.html
index 548db29..bc777fae 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/unset/img-tag/same-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/unset/img-tag/same-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/unset/img-tag/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/unset/img-tag/same-https.no-redirect.http.html
index 966c035..9389f18 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/unset/img-tag/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/unset/img-tag/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/unset/img-tag/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/unset/img-tag/same-https.swap-origin.http.html
index c195ca6..761bffa 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/unset/img-tag/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.http-rp/unset/img-tag/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/no-referrer-when-downgrade/img-tag/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/no-referrer-when-downgrade/img-tag/cross-http.keep-origin.http.html
index 373a9d8..2950bba 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/no-referrer-when-downgrade/img-tag/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/no-referrer-when-downgrade/img-tag/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/no-referrer-when-downgrade/img-tag/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/no-referrer-when-downgrade/img-tag/cross-http.no-redirect.http.html
index 003e81f..be2e12b 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/no-referrer-when-downgrade/img-tag/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/no-referrer-when-downgrade/img-tag/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/no-referrer-when-downgrade/img-tag/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/no-referrer-when-downgrade/img-tag/cross-http.swap-origin.http.html
index c2ac0fa7..1d299ff 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/no-referrer-when-downgrade/img-tag/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/no-referrer-when-downgrade/img-tag/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/no-referrer-when-downgrade/img-tag/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/no-referrer-when-downgrade/img-tag/cross-https.keep-origin.http.html
index 5d3fe70..de6243fe 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/no-referrer-when-downgrade/img-tag/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/no-referrer-when-downgrade/img-tag/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/no-referrer-when-downgrade/img-tag/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/no-referrer-when-downgrade/img-tag/cross-https.no-redirect.http.html
index ae5b1bc..af4d19e 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/no-referrer-when-downgrade/img-tag/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/no-referrer-when-downgrade/img-tag/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/no-referrer-when-downgrade/img-tag/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/no-referrer-when-downgrade/img-tag/cross-https.swap-origin.http.html
index 6fc4bf6..6ccc1eb 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/no-referrer-when-downgrade/img-tag/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/no-referrer-when-downgrade/img-tag/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/no-referrer-when-downgrade/img-tag/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/no-referrer-when-downgrade/img-tag/same-http.keep-origin.http.html
index 13a0294..1d4a6be 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/no-referrer-when-downgrade/img-tag/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/no-referrer-when-downgrade/img-tag/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/no-referrer-when-downgrade/img-tag/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/no-referrer-when-downgrade/img-tag/same-http.no-redirect.http.html
index 018e4e1..8a91acb5 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/no-referrer-when-downgrade/img-tag/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/no-referrer-when-downgrade/img-tag/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/no-referrer-when-downgrade/img-tag/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/no-referrer-when-downgrade/img-tag/same-http.swap-origin.http.html
index db653dd..d682ec1 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/no-referrer-when-downgrade/img-tag/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/no-referrer-when-downgrade/img-tag/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/no-referrer-when-downgrade/img-tag/same-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/no-referrer-when-downgrade/img-tag/same-https.keep-origin.http.html
index d40e774..43b67209f 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/no-referrer-when-downgrade/img-tag/same-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/no-referrer-when-downgrade/img-tag/same-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/no-referrer-when-downgrade/img-tag/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/no-referrer-when-downgrade/img-tag/same-https.no-redirect.http.html
index 96d38f1..8d10af5 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/no-referrer-when-downgrade/img-tag/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/no-referrer-when-downgrade/img-tag/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/no-referrer-when-downgrade/img-tag/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/no-referrer-when-downgrade/img-tag/same-https.swap-origin.http.html
index d03f111..7c06426 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/no-referrer-when-downgrade/img-tag/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/no-referrer-when-downgrade/img-tag/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/no-referrer/img-tag/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/no-referrer/img-tag/cross-http.keep-origin.http.html
index 7cb4955..0e0cd8f 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/no-referrer/img-tag/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/no-referrer/img-tag/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/no-referrer/img-tag/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/no-referrer/img-tag/cross-http.no-redirect.http.html
index 2761d969..c7e2bafe 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/no-referrer/img-tag/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/no-referrer/img-tag/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/no-referrer/img-tag/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/no-referrer/img-tag/cross-http.swap-origin.http.html
index 2bb50f41..f04548c 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/no-referrer/img-tag/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/no-referrer/img-tag/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/no-referrer/img-tag/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/no-referrer/img-tag/cross-https.keep-origin.http.html
index 383626d..ad29794a 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/no-referrer/img-tag/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/no-referrer/img-tag/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/no-referrer/img-tag/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/no-referrer/img-tag/cross-https.no-redirect.http.html
index 5e55b6d..4387d0c 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/no-referrer/img-tag/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/no-referrer/img-tag/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/no-referrer/img-tag/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/no-referrer/img-tag/cross-https.swap-origin.http.html
index f8c89cf..545b751 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/no-referrer/img-tag/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/no-referrer/img-tag/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/no-referrer/img-tag/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/no-referrer/img-tag/same-http.keep-origin.http.html
index cf127d3c..f8a81a8 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/no-referrer/img-tag/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/no-referrer/img-tag/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/no-referrer/img-tag/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/no-referrer/img-tag/same-http.no-redirect.http.html
index 06ed034..e0e3150 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/no-referrer/img-tag/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/no-referrer/img-tag/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/no-referrer/img-tag/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/no-referrer/img-tag/same-http.swap-origin.http.html
index 5e718a4..02576c2 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/no-referrer/img-tag/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/no-referrer/img-tag/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/no-referrer/img-tag/same-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/no-referrer/img-tag/same-https.keep-origin.http.html
index e7e5b11..e9f8da0 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/no-referrer/img-tag/same-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/no-referrer/img-tag/same-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/no-referrer/img-tag/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/no-referrer/img-tag/same-https.no-redirect.http.html
index ce595e6..47a215cc 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/no-referrer/img-tag/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/no-referrer/img-tag/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/no-referrer/img-tag/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/no-referrer/img-tag/same-https.swap-origin.http.html
index 35e13312..fef59b4 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/no-referrer/img-tag/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/no-referrer/img-tag/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/origin-when-cross-origin/img-tag/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/origin-when-cross-origin/img-tag/cross-http.keep-origin.http.html
index 3ad010c..0b3d4a1 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/origin-when-cross-origin/img-tag/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/origin-when-cross-origin/img-tag/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/origin-when-cross-origin/img-tag/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/origin-when-cross-origin/img-tag/cross-http.no-redirect.http.html
index e0aed40..c1bab0c9 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/origin-when-cross-origin/img-tag/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/origin-when-cross-origin/img-tag/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/origin-when-cross-origin/img-tag/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/origin-when-cross-origin/img-tag/cross-http.swap-origin.http.html
index 6d1b9cd..4ae3a00e 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/origin-when-cross-origin/img-tag/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/origin-when-cross-origin/img-tag/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/origin-when-cross-origin/img-tag/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/origin-when-cross-origin/img-tag/cross-https.keep-origin.http.html
index a9d89ec..4f178a6 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/origin-when-cross-origin/img-tag/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/origin-when-cross-origin/img-tag/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/origin-when-cross-origin/img-tag/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/origin-when-cross-origin/img-tag/cross-https.no-redirect.http.html
index 1a8fb14..e3e0887 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/origin-when-cross-origin/img-tag/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/origin-when-cross-origin/img-tag/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/origin-when-cross-origin/img-tag/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/origin-when-cross-origin/img-tag/cross-https.swap-origin.http.html
index fd4e313..be2eea32 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/origin-when-cross-origin/img-tag/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/origin-when-cross-origin/img-tag/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/origin-when-cross-origin/img-tag/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/origin-when-cross-origin/img-tag/same-http.keep-origin.http.html
index 7a0cf117..4f9345f 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/origin-when-cross-origin/img-tag/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/origin-when-cross-origin/img-tag/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/origin-when-cross-origin/img-tag/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/origin-when-cross-origin/img-tag/same-http.no-redirect.http.html
index a9d77675..e162101 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/origin-when-cross-origin/img-tag/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/origin-when-cross-origin/img-tag/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/origin-when-cross-origin/img-tag/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/origin-when-cross-origin/img-tag/same-http.swap-origin.http.html
index 6b1232e..05e47dc0 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/origin-when-cross-origin/img-tag/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/origin-when-cross-origin/img-tag/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/origin-when-cross-origin/img-tag/same-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/origin-when-cross-origin/img-tag/same-https.keep-origin.http.html
index 24907de..c7a0e1d 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/origin-when-cross-origin/img-tag/same-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/origin-when-cross-origin/img-tag/same-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/origin-when-cross-origin/img-tag/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/origin-when-cross-origin/img-tag/same-https.no-redirect.http.html
index f378b6a..04e3160 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/origin-when-cross-origin/img-tag/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/origin-when-cross-origin/img-tag/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/origin-when-cross-origin/img-tag/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/origin-when-cross-origin/img-tag/same-https.swap-origin.http.html
index a2b9830..d9734ad 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/origin-when-cross-origin/img-tag/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/origin-when-cross-origin/img-tag/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/origin/img-tag/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/origin/img-tag/cross-http.keep-origin.http.html
index 094228a..6c810a7 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/origin/img-tag/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/origin/img-tag/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/origin/img-tag/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/origin/img-tag/cross-http.no-redirect.http.html
index 5f9428c..6aec28f4 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/origin/img-tag/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/origin/img-tag/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/origin/img-tag/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/origin/img-tag/cross-http.swap-origin.http.html
index 26bc345..973d27c 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/origin/img-tag/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/origin/img-tag/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/origin/img-tag/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/origin/img-tag/cross-https.keep-origin.http.html
index 70733ab2..a58c210d 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/origin/img-tag/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/origin/img-tag/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/origin/img-tag/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/origin/img-tag/cross-https.no-redirect.http.html
index 23913ad..45be6a1 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/origin/img-tag/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/origin/img-tag/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/origin/img-tag/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/origin/img-tag/cross-https.swap-origin.http.html
index 0ea50271..0058103 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/origin/img-tag/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/origin/img-tag/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/origin/img-tag/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/origin/img-tag/same-http.keep-origin.http.html
index 9fdd68c9..fa51fba2 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/origin/img-tag/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/origin/img-tag/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/origin/img-tag/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/origin/img-tag/same-http.no-redirect.http.html
index 5686147..e863e5b 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/origin/img-tag/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/origin/img-tag/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/origin/img-tag/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/origin/img-tag/same-http.swap-origin.http.html
index f40179f..5b24542 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/origin/img-tag/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/origin/img-tag/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/origin/img-tag/same-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/origin/img-tag/same-https.keep-origin.http.html
index 1d5e790..0ddf2ba6 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/origin/img-tag/same-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/origin/img-tag/same-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/origin/img-tag/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/origin/img-tag/same-https.no-redirect.http.html
index 8e7a1f53..cad8181 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/origin/img-tag/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/origin/img-tag/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/origin/img-tag/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/origin/img-tag/same-https.swap-origin.http.html
index ed7b1d9..0eb837e 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/origin/img-tag/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/origin/img-tag/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/same-origin/img-tag/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/same-origin/img-tag/cross-http.keep-origin.http.html
index 5c14128c..882e2bdb 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/same-origin/img-tag/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/same-origin/img-tag/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/same-origin/img-tag/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/same-origin/img-tag/cross-http.no-redirect.http.html
index 3b7701e5..0bd6e26 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/same-origin/img-tag/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/same-origin/img-tag/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/same-origin/img-tag/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/same-origin/img-tag/cross-http.swap-origin.http.html
index e246c04f..f14573a 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/same-origin/img-tag/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/same-origin/img-tag/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/same-origin/img-tag/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/same-origin/img-tag/cross-https.keep-origin.http.html
index 4cded5e..2685033e 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/same-origin/img-tag/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/same-origin/img-tag/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/same-origin/img-tag/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/same-origin/img-tag/cross-https.no-redirect.http.html
index ed77770..566c770 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/same-origin/img-tag/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/same-origin/img-tag/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/same-origin/img-tag/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/same-origin/img-tag/cross-https.swap-origin.http.html
index 561c181..05a3316 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/same-origin/img-tag/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/same-origin/img-tag/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/same-origin/img-tag/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/same-origin/img-tag/same-http.keep-origin.http.html
index 146db70..4dd3fbac 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/same-origin/img-tag/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/same-origin/img-tag/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/same-origin/img-tag/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/same-origin/img-tag/same-http.no-redirect.http.html
index 3873d73..d0e40631 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/same-origin/img-tag/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/same-origin/img-tag/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/same-origin/img-tag/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/same-origin/img-tag/same-http.swap-origin.http.html
index 35ee0075..7b9571af 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/same-origin/img-tag/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/same-origin/img-tag/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/same-origin/img-tag/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/same-origin/img-tag/same-https.swap-origin.http.html
index 91ba1db6..a8919e6 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/same-origin/img-tag/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/same-origin/img-tag/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/strict-origin-when-cross-origin/img-tag/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/strict-origin-when-cross-origin/img-tag/cross-http.keep-origin.http.html
index f78530b9..bed8df8 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/strict-origin-when-cross-origin/img-tag/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/strict-origin-when-cross-origin/img-tag/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/strict-origin-when-cross-origin/img-tag/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/strict-origin-when-cross-origin/img-tag/cross-http.no-redirect.http.html
index 9a1732e..279a75d 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/strict-origin-when-cross-origin/img-tag/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/strict-origin-when-cross-origin/img-tag/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/strict-origin-when-cross-origin/img-tag/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/strict-origin-when-cross-origin/img-tag/cross-http.swap-origin.http.html
index 74bbb2a1..017ef55 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/strict-origin-when-cross-origin/img-tag/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/strict-origin-when-cross-origin/img-tag/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/strict-origin-when-cross-origin/img-tag/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/strict-origin-when-cross-origin/img-tag/cross-https.keep-origin.http.html
index 0f53551..648b3a34 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/strict-origin-when-cross-origin/img-tag/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/strict-origin-when-cross-origin/img-tag/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/strict-origin-when-cross-origin/img-tag/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/strict-origin-when-cross-origin/img-tag/cross-https.no-redirect.http.html
index 15c3bbd..e06fcf8 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/strict-origin-when-cross-origin/img-tag/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/strict-origin-when-cross-origin/img-tag/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/strict-origin-when-cross-origin/img-tag/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/strict-origin-when-cross-origin/img-tag/cross-https.swap-origin.http.html
index be4657f..1573879 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/strict-origin-when-cross-origin/img-tag/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/strict-origin-when-cross-origin/img-tag/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/strict-origin-when-cross-origin/img-tag/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/strict-origin-when-cross-origin/img-tag/same-http.keep-origin.http.html
index 294746e..8de9152 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/strict-origin-when-cross-origin/img-tag/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/strict-origin-when-cross-origin/img-tag/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/strict-origin-when-cross-origin/img-tag/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/strict-origin-when-cross-origin/img-tag/same-http.no-redirect.http.html
index dbaab80..a912f8c 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/strict-origin-when-cross-origin/img-tag/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/strict-origin-when-cross-origin/img-tag/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/strict-origin-when-cross-origin/img-tag/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/strict-origin-when-cross-origin/img-tag/same-http.swap-origin.http.html
index 9eb466a..9343c0f 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/strict-origin-when-cross-origin/img-tag/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/strict-origin-when-cross-origin/img-tag/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/strict-origin-when-cross-origin/img-tag/same-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/strict-origin-when-cross-origin/img-tag/same-https.keep-origin.http.html
index 9394b85..804b2d3 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/strict-origin-when-cross-origin/img-tag/same-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/strict-origin-when-cross-origin/img-tag/same-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/strict-origin-when-cross-origin/img-tag/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/strict-origin-when-cross-origin/img-tag/same-https.no-redirect.http.html
index 1c7639d2..3f2d5c8 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/strict-origin-when-cross-origin/img-tag/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/strict-origin-when-cross-origin/img-tag/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/strict-origin-when-cross-origin/img-tag/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/strict-origin-when-cross-origin/img-tag/same-https.swap-origin.http.html
index 0a88d3f..867558a 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/strict-origin-when-cross-origin/img-tag/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/strict-origin-when-cross-origin/img-tag/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/strict-origin/img-tag/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/strict-origin/img-tag/cross-http.keep-origin.http.html
index 37ac098..ab1bb44 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/strict-origin/img-tag/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/strict-origin/img-tag/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/strict-origin/img-tag/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/strict-origin/img-tag/cross-http.no-redirect.http.html
index baa6526..154fcdcd 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/strict-origin/img-tag/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/strict-origin/img-tag/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/strict-origin/img-tag/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/strict-origin/img-tag/cross-http.swap-origin.http.html
index 94775ea..d24f9f7 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/strict-origin/img-tag/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/strict-origin/img-tag/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/strict-origin/img-tag/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/strict-origin/img-tag/cross-https.keep-origin.http.html
index a3b8554b..e695757 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/strict-origin/img-tag/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/strict-origin/img-tag/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/strict-origin/img-tag/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/strict-origin/img-tag/cross-https.no-redirect.http.html
index 084f3dc..a97ff75 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/strict-origin/img-tag/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/strict-origin/img-tag/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/strict-origin/img-tag/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/strict-origin/img-tag/cross-https.swap-origin.http.html
index aa7eab6..f0998db7 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/strict-origin/img-tag/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/strict-origin/img-tag/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/strict-origin/img-tag/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/strict-origin/img-tag/same-http.keep-origin.http.html
index 8e17a98..98761398 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/strict-origin/img-tag/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/strict-origin/img-tag/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/strict-origin/img-tag/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/strict-origin/img-tag/same-http.no-redirect.http.html
index 28878e2..2e9ac8c 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/strict-origin/img-tag/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/strict-origin/img-tag/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/strict-origin/img-tag/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/strict-origin/img-tag/same-http.swap-origin.http.html
index 40e8f64..16b2fc0 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/strict-origin/img-tag/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/strict-origin/img-tag/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/strict-origin/img-tag/same-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/strict-origin/img-tag/same-https.keep-origin.http.html
index b8f40d6..098365b 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/strict-origin/img-tag/same-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/strict-origin/img-tag/same-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/strict-origin/img-tag/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/strict-origin/img-tag/same-https.no-redirect.http.html
index d287d5e..2941add 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/strict-origin/img-tag/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/strict-origin/img-tag/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/strict-origin/img-tag/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/strict-origin/img-tag/same-https.swap-origin.http.html
index aeb97eb..b6b4cbc 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/strict-origin/img-tag/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/strict-origin/img-tag/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/unsafe-url/img-tag/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/unsafe-url/img-tag/cross-http.keep-origin.http.html
index f06f701..3ad3d02 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/unsafe-url/img-tag/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/unsafe-url/img-tag/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/unsafe-url/img-tag/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/unsafe-url/img-tag/cross-http.no-redirect.http.html
index e0d56f4..fe66f66 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/unsafe-url/img-tag/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/unsafe-url/img-tag/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/unsafe-url/img-tag/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/unsafe-url/img-tag/cross-http.swap-origin.http.html
index 9cf8b08..e3f2f3b 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/unsafe-url/img-tag/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/unsafe-url/img-tag/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/unsafe-url/img-tag/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/unsafe-url/img-tag/cross-https.keep-origin.http.html
index c6536bd..3528e78 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/unsafe-url/img-tag/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/unsafe-url/img-tag/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/unsafe-url/img-tag/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/unsafe-url/img-tag/cross-https.no-redirect.http.html
index d43e6a2..a45b53d 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/unsafe-url/img-tag/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/unsafe-url/img-tag/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/unsafe-url/img-tag/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/unsafe-url/img-tag/cross-https.swap-origin.http.html
index 06fbbb9..b6789f9 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/unsafe-url/img-tag/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/unsafe-url/img-tag/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/unsafe-url/img-tag/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/unsafe-url/img-tag/same-http.keep-origin.http.html
index bb76971..d1105d2 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/unsafe-url/img-tag/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/unsafe-url/img-tag/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/unsafe-url/img-tag/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/unsafe-url/img-tag/same-http.no-redirect.http.html
index f28611b..a3b4708 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/unsafe-url/img-tag/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/unsafe-url/img-tag/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/unsafe-url/img-tag/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/unsafe-url/img-tag/same-http.swap-origin.http.html
index c52383a..4fa99cad 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/unsafe-url/img-tag/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/unsafe-url/img-tag/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/unsafe-url/img-tag/same-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/unsafe-url/img-tag/same-https.keep-origin.http.html
index ebcfe40..d549879 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/unsafe-url/img-tag/same-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/unsafe-url/img-tag/same-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/unsafe-url/img-tag/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/unsafe-url/img-tag/same-https.no-redirect.http.html
index 9f7d448..e06f10ff 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/unsafe-url/img-tag/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/unsafe-url/img-tag/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/unsafe-url/img-tag/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/unsafe-url/img-tag/same-https.swap-origin.http.html
index 208c7a7..a412e4c 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/unsafe-url/img-tag/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/unsafe-url/img-tag/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/unset/img-tag/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/unset/img-tag/cross-http.keep-origin.http.html
index 6f7a990..f35f4f9 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/unset/img-tag/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/unset/img-tag/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/unset/img-tag/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/unset/img-tag/cross-http.no-redirect.http.html
index 372dc54..46e5033 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/unset/img-tag/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/unset/img-tag/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/unset/img-tag/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/unset/img-tag/cross-http.swap-origin.http.html
index a7c824a..7f04abb3 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/unset/img-tag/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/unset/img-tag/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/unset/img-tag/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/unset/img-tag/cross-https.keep-origin.http.html
index a6b479a..ce045a71 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/unset/img-tag/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/unset/img-tag/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/unset/img-tag/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/unset/img-tag/cross-https.no-redirect.http.html
index adf1a64..533660e 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/unset/img-tag/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/unset/img-tag/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/unset/img-tag/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/unset/img-tag/cross-https.swap-origin.http.html
index 8a5191c..4e35fb2b 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/unset/img-tag/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/unset/img-tag/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/unset/img-tag/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/unset/img-tag/same-http.keep-origin.http.html
index 3399f87..2ffa21d9 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/unset/img-tag/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/unset/img-tag/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/unset/img-tag/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/unset/img-tag/same-http.no-redirect.http.html
index 7c65038..74e83f4 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/unset/img-tag/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/unset/img-tag/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/unset/img-tag/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/unset/img-tag/same-http.swap-origin.http.html
index e5c6ef5..028f7da 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/unset/img-tag/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/unset/img-tag/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/unset/img-tag/same-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/unset/img-tag/same-https.keep-origin.http.html
index 548db29..bc777fae 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/unset/img-tag/same-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/unset/img-tag/same-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/unset/img-tag/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/unset/img-tag/same-https.no-redirect.http.html
index 966c035..9389f18 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/unset/img-tag/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/unset/img-tag/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/unset/img-tag/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/unset/img-tag/same-https.swap-origin.http.html
index c195ca6..761bffa 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/unset/img-tag/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc-inherit.meta/unset/img-tag/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/no-referrer-when-downgrade/img-tag/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/no-referrer-when-downgrade/img-tag/cross-http.keep-origin.http.html
index 37f6fd2a..2d7e93c 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/no-referrer-when-downgrade/img-tag/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/no-referrer-when-downgrade/img-tag/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/no-referrer-when-downgrade/img-tag/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/no-referrer-when-downgrade/img-tag/cross-http.no-redirect.http.html
index 2942f9cc..016ffb8 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/no-referrer-when-downgrade/img-tag/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/no-referrer-when-downgrade/img-tag/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/no-referrer-when-downgrade/img-tag/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/no-referrer-when-downgrade/img-tag/cross-http.swap-origin.http.html
index a3659cf..18766cc 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/no-referrer-when-downgrade/img-tag/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/no-referrer-when-downgrade/img-tag/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/no-referrer-when-downgrade/img-tag/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/no-referrer-when-downgrade/img-tag/cross-https.keep-origin.http.html
index 6583977..862c729 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/no-referrer-when-downgrade/img-tag/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/no-referrer-when-downgrade/img-tag/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/no-referrer-when-downgrade/img-tag/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/no-referrer-when-downgrade/img-tag/cross-https.no-redirect.http.html
index 7801380..9413546 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/no-referrer-when-downgrade/img-tag/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/no-referrer-when-downgrade/img-tag/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/no-referrer-when-downgrade/img-tag/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/no-referrer-when-downgrade/img-tag/cross-https.swap-origin.http.html
index b914ad4d..5661283 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/no-referrer-when-downgrade/img-tag/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/no-referrer-when-downgrade/img-tag/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/no-referrer-when-downgrade/img-tag/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/no-referrer-when-downgrade/img-tag/same-http.keep-origin.http.html
index d2f057da..c2b0cab 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/no-referrer-when-downgrade/img-tag/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/no-referrer-when-downgrade/img-tag/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/no-referrer-when-downgrade/img-tag/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/no-referrer-when-downgrade/img-tag/same-http.no-redirect.http.html
index fa5f521..67a7cf1 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/no-referrer-when-downgrade/img-tag/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/no-referrer-when-downgrade/img-tag/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/no-referrer-when-downgrade/img-tag/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/no-referrer-when-downgrade/img-tag/same-http.swap-origin.http.html
index ed1728d..435d78e2 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/no-referrer-when-downgrade/img-tag/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/no-referrer-when-downgrade/img-tag/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/no-referrer-when-downgrade/img-tag/same-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/no-referrer-when-downgrade/img-tag/same-https.keep-origin.http.html
index 98105d77..e945b6bd 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/no-referrer-when-downgrade/img-tag/same-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/no-referrer-when-downgrade/img-tag/same-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/no-referrer-when-downgrade/img-tag/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/no-referrer-when-downgrade/img-tag/same-https.no-redirect.http.html
index 20f880ac..9c51164 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/no-referrer-when-downgrade/img-tag/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/no-referrer-when-downgrade/img-tag/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/no-referrer-when-downgrade/img-tag/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/no-referrer-when-downgrade/img-tag/same-https.swap-origin.http.html
index a454f59f..d8d0e26 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/no-referrer-when-downgrade/img-tag/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/no-referrer-when-downgrade/img-tag/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/no-referrer/img-tag/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/no-referrer/img-tag/cross-http.keep-origin.http.html
index 09d2082..0e86717 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/no-referrer/img-tag/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/no-referrer/img-tag/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/no-referrer/img-tag/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/no-referrer/img-tag/cross-http.no-redirect.http.html
index 508eddd..32babc6 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/no-referrer/img-tag/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/no-referrer/img-tag/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/no-referrer/img-tag/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/no-referrer/img-tag/cross-http.swap-origin.http.html
index 326e2df..ee52a777 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/no-referrer/img-tag/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/no-referrer/img-tag/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/no-referrer/img-tag/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/no-referrer/img-tag/cross-https.keep-origin.http.html
index 876cc6e..93e73e7 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/no-referrer/img-tag/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/no-referrer/img-tag/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/no-referrer/img-tag/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/no-referrer/img-tag/cross-https.no-redirect.http.html
index 5969cab..d67c6fcf 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/no-referrer/img-tag/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/no-referrer/img-tag/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/no-referrer/img-tag/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/no-referrer/img-tag/cross-https.swap-origin.http.html
index b3f753b4..0f1f958 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/no-referrer/img-tag/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/no-referrer/img-tag/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/no-referrer/img-tag/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/no-referrer/img-tag/same-http.keep-origin.http.html
index 2292457..ad9edec0 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/no-referrer/img-tag/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/no-referrer/img-tag/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/no-referrer/img-tag/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/no-referrer/img-tag/same-http.no-redirect.http.html
index 79f359f..337521b 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/no-referrer/img-tag/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/no-referrer/img-tag/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/no-referrer/img-tag/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/no-referrer/img-tag/same-http.swap-origin.http.html
index cf564845..98d39e52 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/no-referrer/img-tag/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/no-referrer/img-tag/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/no-referrer/img-tag/same-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/no-referrer/img-tag/same-https.keep-origin.http.html
index de2adb4..6ba35c7 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/no-referrer/img-tag/same-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/no-referrer/img-tag/same-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/no-referrer/img-tag/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/no-referrer/img-tag/same-https.no-redirect.http.html
index bbfcbd3d..f9b850b 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/no-referrer/img-tag/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/no-referrer/img-tag/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/no-referrer/img-tag/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/no-referrer/img-tag/same-https.swap-origin.http.html
index 7e7bc20..bc62fee 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/no-referrer/img-tag/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/no-referrer/img-tag/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/origin-when-cross-origin/img-tag/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/origin-when-cross-origin/img-tag/cross-http.keep-origin.http.html
index 3c340cb..5d061f4 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/origin-when-cross-origin/img-tag/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/origin-when-cross-origin/img-tag/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/origin-when-cross-origin/img-tag/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/origin-when-cross-origin/img-tag/cross-http.no-redirect.http.html
index 4d9c9ad..ceada99 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/origin-when-cross-origin/img-tag/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/origin-when-cross-origin/img-tag/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/origin-when-cross-origin/img-tag/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/origin-when-cross-origin/img-tag/cross-http.swap-origin.http.html
index 65828dd..ed500f68 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/origin-when-cross-origin/img-tag/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/origin-when-cross-origin/img-tag/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/origin-when-cross-origin/img-tag/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/origin-when-cross-origin/img-tag/cross-https.keep-origin.http.html
index 205e957..4d73ccc 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/origin-when-cross-origin/img-tag/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/origin-when-cross-origin/img-tag/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/origin-when-cross-origin/img-tag/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/origin-when-cross-origin/img-tag/cross-https.no-redirect.http.html
index 11360c8..fcde2e4 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/origin-when-cross-origin/img-tag/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/origin-when-cross-origin/img-tag/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/origin-when-cross-origin/img-tag/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/origin-when-cross-origin/img-tag/cross-https.swap-origin.http.html
index 11a17fa..2a97d90 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/origin-when-cross-origin/img-tag/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/origin-when-cross-origin/img-tag/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/origin-when-cross-origin/img-tag/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/origin-when-cross-origin/img-tag/same-http.keep-origin.http.html
index 67c954b..bfb05f04 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/origin-when-cross-origin/img-tag/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/origin-when-cross-origin/img-tag/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/origin-when-cross-origin/img-tag/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/origin-when-cross-origin/img-tag/same-http.no-redirect.http.html
index ea8a89b..5bd8cdf 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/origin-when-cross-origin/img-tag/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/origin-when-cross-origin/img-tag/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/origin-when-cross-origin/img-tag/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/origin-when-cross-origin/img-tag/same-http.swap-origin.http.html
index 084d24a3..6624377f 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/origin-when-cross-origin/img-tag/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/origin-when-cross-origin/img-tag/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/origin-when-cross-origin/img-tag/same-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/origin-when-cross-origin/img-tag/same-https.keep-origin.http.html
index 1e82477..41d8e41 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/origin-when-cross-origin/img-tag/same-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/origin-when-cross-origin/img-tag/same-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/origin-when-cross-origin/img-tag/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/origin-when-cross-origin/img-tag/same-https.no-redirect.http.html
index bd29bf94..820c6a3 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/origin-when-cross-origin/img-tag/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/origin-when-cross-origin/img-tag/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/origin-when-cross-origin/img-tag/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/origin-when-cross-origin/img-tag/same-https.swap-origin.http.html
index 58240b9..0114621 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/origin-when-cross-origin/img-tag/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/origin-when-cross-origin/img-tag/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/origin/img-tag/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/origin/img-tag/cross-http.keep-origin.http.html
index fdcec20..c6b74361 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/origin/img-tag/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/origin/img-tag/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/origin/img-tag/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/origin/img-tag/cross-http.no-redirect.http.html
index c436821..ae58043 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/origin/img-tag/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/origin/img-tag/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/origin/img-tag/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/origin/img-tag/cross-http.swap-origin.http.html
index 15d16ec7..33c9664 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/origin/img-tag/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/origin/img-tag/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/origin/img-tag/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/origin/img-tag/cross-https.keep-origin.http.html
index b5aa883..0316add 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/origin/img-tag/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/origin/img-tag/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/origin/img-tag/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/origin/img-tag/cross-https.no-redirect.http.html
index c823f71..55211778 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/origin/img-tag/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/origin/img-tag/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/origin/img-tag/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/origin/img-tag/cross-https.swap-origin.http.html
index 7bc8025..e77bb3b0 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/origin/img-tag/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/origin/img-tag/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/origin/img-tag/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/origin/img-tag/same-http.keep-origin.http.html
index ba251eb6..fdcc1c9 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/origin/img-tag/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/origin/img-tag/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/origin/img-tag/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/origin/img-tag/same-http.no-redirect.http.html
index 5790465..70bd6beb 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/origin/img-tag/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/origin/img-tag/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/origin/img-tag/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/origin/img-tag/same-http.swap-origin.http.html
index b1834ef..a94dc36 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/origin/img-tag/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/origin/img-tag/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/origin/img-tag/same-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/origin/img-tag/same-https.keep-origin.http.html
index 6b94239..2810f988 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/origin/img-tag/same-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/origin/img-tag/same-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/origin/img-tag/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/origin/img-tag/same-https.no-redirect.http.html
index 9798816..6a18555 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/origin/img-tag/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/origin/img-tag/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/origin/img-tag/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/origin/img-tag/same-https.swap-origin.http.html
index 56f71d7..812ce1d1 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/origin/img-tag/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/origin/img-tag/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/same-origin/img-tag/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/same-origin/img-tag/cross-http.keep-origin.http.html
index 3da9967..e18fcc7 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/same-origin/img-tag/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/same-origin/img-tag/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/same-origin/img-tag/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/same-origin/img-tag/cross-http.no-redirect.http.html
index c17b37b..63ad650 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/same-origin/img-tag/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/same-origin/img-tag/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/same-origin/img-tag/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/same-origin/img-tag/cross-http.swap-origin.http.html
index cc3fee6..0bc77a7b 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/same-origin/img-tag/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/same-origin/img-tag/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/same-origin/img-tag/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/same-origin/img-tag/cross-https.keep-origin.http.html
index ea91c86..f7131c53 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/same-origin/img-tag/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/same-origin/img-tag/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/same-origin/img-tag/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/same-origin/img-tag/cross-https.no-redirect.http.html
index 71a1ec36..83a1cf8 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/same-origin/img-tag/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/same-origin/img-tag/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/same-origin/img-tag/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/same-origin/img-tag/cross-https.swap-origin.http.html
index 737fda7..ced54f7 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/same-origin/img-tag/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/same-origin/img-tag/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/same-origin/img-tag/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/same-origin/img-tag/same-http.keep-origin.http.html
index 5a62982..68aa52a 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/same-origin/img-tag/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/same-origin/img-tag/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/same-origin/img-tag/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/same-origin/img-tag/same-http.no-redirect.http.html
index e3b14f5..e831c0e 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/same-origin/img-tag/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/same-origin/img-tag/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/same-origin/img-tag/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/same-origin/img-tag/same-http.swap-origin.http.html
index effeb0a..0f74309 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/same-origin/img-tag/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/same-origin/img-tag/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/same-origin/img-tag/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/same-origin/img-tag/same-https.swap-origin.http.html
index 4a1aee9..6687a67 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/same-origin/img-tag/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/same-origin/img-tag/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/strict-origin-when-cross-origin/img-tag/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/strict-origin-when-cross-origin/img-tag/cross-http.keep-origin.http.html
index a817b0f..1c0425c 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/strict-origin-when-cross-origin/img-tag/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/strict-origin-when-cross-origin/img-tag/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/strict-origin-when-cross-origin/img-tag/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/strict-origin-when-cross-origin/img-tag/cross-http.no-redirect.http.html
index 03ca6e5..ff104155 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/strict-origin-when-cross-origin/img-tag/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/strict-origin-when-cross-origin/img-tag/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/strict-origin-when-cross-origin/img-tag/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/strict-origin-when-cross-origin/img-tag/cross-http.swap-origin.http.html
index 54756e4e..206cd9c 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/strict-origin-when-cross-origin/img-tag/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/strict-origin-when-cross-origin/img-tag/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/strict-origin-when-cross-origin/img-tag/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/strict-origin-when-cross-origin/img-tag/cross-https.keep-origin.http.html
index 2496ca3..493de2b 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/strict-origin-when-cross-origin/img-tag/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/strict-origin-when-cross-origin/img-tag/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/strict-origin-when-cross-origin/img-tag/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/strict-origin-when-cross-origin/img-tag/cross-https.no-redirect.http.html
index 665229e..6489ded7 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/strict-origin-when-cross-origin/img-tag/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/strict-origin-when-cross-origin/img-tag/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/strict-origin-when-cross-origin/img-tag/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/strict-origin-when-cross-origin/img-tag/cross-https.swap-origin.http.html
index cd3818d..3a661a3 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/strict-origin-when-cross-origin/img-tag/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/strict-origin-when-cross-origin/img-tag/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/strict-origin-when-cross-origin/img-tag/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/strict-origin-when-cross-origin/img-tag/same-http.keep-origin.http.html
index ed018a7e..f85f0ba5 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/strict-origin-when-cross-origin/img-tag/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/strict-origin-when-cross-origin/img-tag/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/strict-origin-when-cross-origin/img-tag/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/strict-origin-when-cross-origin/img-tag/same-http.no-redirect.http.html
index 2429d19..cfcbc8e 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/strict-origin-when-cross-origin/img-tag/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/strict-origin-when-cross-origin/img-tag/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/strict-origin-when-cross-origin/img-tag/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/strict-origin-when-cross-origin/img-tag/same-http.swap-origin.http.html
index 3c6c42b..45f9cfbc 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/strict-origin-when-cross-origin/img-tag/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/strict-origin-when-cross-origin/img-tag/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/strict-origin-when-cross-origin/img-tag/same-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/strict-origin-when-cross-origin/img-tag/same-https.keep-origin.http.html
index df25911..20b13623 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/strict-origin-when-cross-origin/img-tag/same-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/strict-origin-when-cross-origin/img-tag/same-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/strict-origin-when-cross-origin/img-tag/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/strict-origin-when-cross-origin/img-tag/same-https.no-redirect.http.html
index c0ae8b64..99b9c46b 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/strict-origin-when-cross-origin/img-tag/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/strict-origin-when-cross-origin/img-tag/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/strict-origin-when-cross-origin/img-tag/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/strict-origin-when-cross-origin/img-tag/same-https.swap-origin.http.html
index 3a4a73da..26d31e7 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/strict-origin-when-cross-origin/img-tag/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/strict-origin-when-cross-origin/img-tag/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/strict-origin/img-tag/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/strict-origin/img-tag/cross-http.keep-origin.http.html
index 65d4d27..b898c97 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/strict-origin/img-tag/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/strict-origin/img-tag/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/strict-origin/img-tag/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/strict-origin/img-tag/cross-http.no-redirect.http.html
index 5b2e032..0f93a0d 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/strict-origin/img-tag/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/strict-origin/img-tag/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/strict-origin/img-tag/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/strict-origin/img-tag/cross-http.swap-origin.http.html
index 5aaf2f7..5cd7090 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/strict-origin/img-tag/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/strict-origin/img-tag/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/strict-origin/img-tag/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/strict-origin/img-tag/cross-https.keep-origin.http.html
index 27058b1..c1673cc 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/strict-origin/img-tag/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/strict-origin/img-tag/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/strict-origin/img-tag/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/strict-origin/img-tag/cross-https.no-redirect.http.html
index 6eb5440..c7ef7f1e 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/strict-origin/img-tag/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/strict-origin/img-tag/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/strict-origin/img-tag/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/strict-origin/img-tag/cross-https.swap-origin.http.html
index d23a00666..b67bf41 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/strict-origin/img-tag/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/strict-origin/img-tag/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/strict-origin/img-tag/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/strict-origin/img-tag/same-http.keep-origin.http.html
index cbd4999e..c3f6792 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/strict-origin/img-tag/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/strict-origin/img-tag/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/strict-origin/img-tag/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/strict-origin/img-tag/same-http.no-redirect.http.html
index 271183fc..491f6b3 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/strict-origin/img-tag/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/strict-origin/img-tag/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/strict-origin/img-tag/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/strict-origin/img-tag/same-http.swap-origin.http.html
index ac272300..df34928 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/strict-origin/img-tag/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/strict-origin/img-tag/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/strict-origin/img-tag/same-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/strict-origin/img-tag/same-https.keep-origin.http.html
index a388de9..8bed4ad 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/strict-origin/img-tag/same-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/strict-origin/img-tag/same-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/strict-origin/img-tag/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/strict-origin/img-tag/same-https.no-redirect.http.html
index ba5cba7..f3d1691 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/strict-origin/img-tag/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/strict-origin/img-tag/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/strict-origin/img-tag/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/strict-origin/img-tag/same-https.swap-origin.http.html
index 61c17e05..53833472 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/strict-origin/img-tag/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/strict-origin/img-tag/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/unsafe-url/img-tag/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/unsafe-url/img-tag/cross-http.keep-origin.http.html
index 42ad5ee..949ed77 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/unsafe-url/img-tag/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/unsafe-url/img-tag/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/unsafe-url/img-tag/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/unsafe-url/img-tag/cross-http.no-redirect.http.html
index 30af7d2f..8782ec3 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/unsafe-url/img-tag/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/unsafe-url/img-tag/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/unsafe-url/img-tag/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/unsafe-url/img-tag/cross-http.swap-origin.http.html
index ceb66ae1..42971f4 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/unsafe-url/img-tag/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/unsafe-url/img-tag/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/unsafe-url/img-tag/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/unsafe-url/img-tag/cross-https.keep-origin.http.html
index b9ac57b..86ace00 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/unsafe-url/img-tag/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/unsafe-url/img-tag/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/unsafe-url/img-tag/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/unsafe-url/img-tag/cross-https.no-redirect.http.html
index 94b29642..c719ed4e 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/unsafe-url/img-tag/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/unsafe-url/img-tag/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/unsafe-url/img-tag/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/unsafe-url/img-tag/cross-https.swap-origin.http.html
index 9ae52af..95d876e7 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/unsafe-url/img-tag/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/unsafe-url/img-tag/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/unsafe-url/img-tag/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/unsafe-url/img-tag/same-http.keep-origin.http.html
index 80d2ef3d..64f671f 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/unsafe-url/img-tag/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/unsafe-url/img-tag/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/unsafe-url/img-tag/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/unsafe-url/img-tag/same-http.no-redirect.http.html
index 54b16bd..154a3be 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/unsafe-url/img-tag/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/unsafe-url/img-tag/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/unsafe-url/img-tag/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/unsafe-url/img-tag/same-http.swap-origin.http.html
index d1a1d0f9..5c0c6039 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/unsafe-url/img-tag/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/unsafe-url/img-tag/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/unsafe-url/img-tag/same-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/unsafe-url/img-tag/same-https.keep-origin.http.html
index 4c39915..b9b1362 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/unsafe-url/img-tag/same-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/unsafe-url/img-tag/same-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/unsafe-url/img-tag/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/unsafe-url/img-tag/same-https.no-redirect.http.html
index a577b04..c346912 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/unsafe-url/img-tag/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/unsafe-url/img-tag/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/unsafe-url/img-tag/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/unsafe-url/img-tag/same-https.swap-origin.http.html
index cae58dc..e6348716 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/unsafe-url/img-tag/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/srcdoc.meta/unsafe-url/img-tag/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/a-tag/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/a-tag/cross-http.no-redirect.http.html
index 18f5f7e..6c9682c6 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/a-tag/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/a-tag/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/a-tag/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/a-tag/cross-https.no-redirect.http.html
index 7608b8d..979a6c8 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/a-tag/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/a-tag/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/a-tag/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/a-tag/same-http.no-redirect.http.html
index e6140502..55d837e 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/a-tag/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/a-tag/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/a-tag/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/a-tag/same-https.no-redirect.http.html
index 227bfb01..53b50b0e 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/a-tag/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/a-tag/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-http.keep-origin.http.html
index b103557d..ade9ba3 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-http.no-redirect.http.html
index 1945521..c37a461 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-http.swap-origin.http.html
index 794a5d82..7935c4c 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-https.keep-origin.http.html
index 5c04b74..ed7e92b 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-https.no-redirect.http.html
index 2d6e053..495d9569 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-https.swap-origin.http.html
index 8374abff..bde07eb 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/fetch/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-http.keep-origin.http.html
index faafb37..71e1b67 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-http.no-redirect.http.html
index 00cd1c9..d2222b6 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-http.swap-origin.http.html
index 34abf8e..30af100 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-https.keep-origin.http.html
index 54069500..fa8f2ae 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-https.no-redirect.http.html
index 91017da..d3dcfab 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-https.swap-origin.http.html
index 69934af..ed11cb5b 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/fetch/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-http.keep-origin.http.html
index bc51d55..6db93695c 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-http.no-redirect.http.html
index 6ae3dfe0..4e77af21 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-http.swap-origin.http.html
index 310a25c..8cbbf1c 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-https.keep-origin.http.html
index c6e652d..eb3623f 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-https.no-redirect.http.html
index 13002bc..b812f08 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-https.swap-origin.http.html
index 0333192..9c51330 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-http.keep-origin.http.html
index 411bd23..f74bbac 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-http.no-redirect.http.html
index ab458a3..86b2560 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-http.swap-origin.http.html
index 3d7a405..c788359 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-https.keep-origin.http.html
index 439e0ad..ff16c2b 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-https.no-redirect.http.html
index d3a5b39..15fb9b2 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-https.swap-origin.http.html
index 01ea8d5..c10fff1aa 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/iframe-tag/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-http.keep-origin.http.html
index f1726338..71ab849 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-http.no-redirect.http.html
index 9c2ba561..ddf34a6 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-http.swap-origin.http.html
index 681e6753..2b14332 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-https.keep-origin.http.html
index 399bb9ea0..2bfbc263 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-https.no-redirect.http.html
index 65826f7..aa96e23 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-https.swap-origin.http.html
index 73efdb7..bce09ce 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/img-tag/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-http.keep-origin.http.html
index 761a7e34..fe82a2f 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-http.no-redirect.http.html
index 55309a1..527f27d 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-http.swap-origin.http.html
index 2289856..2af8f55 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-https.keep-origin.http.html
index d87b9ac..f18c37f4d 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-https.no-redirect.http.html
index be33a54..c92703d 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-https.swap-origin.http.html
index 52750a3..5146401 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/img-tag/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-http.keep-origin.http.html
index 643a7809..bfbb2ff 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-http.no-redirect.http.html
index b8c3ca8..460116e 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-http.swap-origin.http.html
index f9c6b33c..4ebfa35 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-https.keep-origin.http.html
index 1d2de6d..4f9b358 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-https.no-redirect.http.html
index 31328d4..f0ac944 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-https.swap-origin.http.html
index 717cd56..556ccd4c 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/script-tag/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-http.keep-origin.http.html
index 93aeb30..103678ca0 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-http.no-redirect.http.html
index 32dcbab..3e68258 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-http.swap-origin.http.html
index 9c0f9300..b2382583 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-https.keep-origin.http.html
index d0d99bf..b0d5732 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-https.no-redirect.http.html
index 4896075..5bffeda 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-https.swap-origin.http.html
index 8d7c2e4e..9df184c3 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/script-tag/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/sharedworker-classic/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/sharedworker-classic/same-http.keep-origin.http.html
index 0947e017..17d4435 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/sharedworker-classic/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/sharedworker-classic/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/sharedworker-classic/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/sharedworker-classic/same-http.no-redirect.http.html
index 0f27e978..1138d88 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/sharedworker-classic/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/sharedworker-classic/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/worker-classic/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/worker-classic/same-http.keep-origin.http.html
index 88217e8b3..a6f8057 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/worker-classic/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/worker-classic/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/worker-classic/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/worker-classic/same-http.no-redirect.http.html
index 4371c15..9f523e31 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/worker-classic/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/worker-classic/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/worker-module/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/worker-module/same-http.keep-origin.http.html
index bcd98e6..4c831d1 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/worker-module/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/worker-module/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/worker-module/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/worker-module/same-http.no-redirect.http.html
index 200d64b..0778be7 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/worker-module/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/worker-module/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-http.keep-origin.http.html
index a83a492..30eaf1a 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-http.no-redirect.http.html
index 55a0550..b7a5de2 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-http.swap-origin.http.html
index d07af49..1ce5a65 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-https.keep-origin.http.html
index bb68130..0022023 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-https.no-redirect.http.html
index f493ba6..6cd8c673 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-https.swap-origin.http.html
index c0c3284..504db674 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/xhr/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-http.keep-origin.http.html
index 8b1519a..f8ba7575 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-http.no-redirect.http.html
index 7fc6be9d..9d01a07 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-http.swap-origin.http.html
index d00ccc9..6d36dc3 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-https.keep-origin.http.html
index 285b3ea..950a580 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-https.no-redirect.http.html
index d6f5fd2..2e9ede06 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-https.swap-origin.http.html
index e7d9c768..7eaf8ce0 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer-when-downgrade/xhr/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/a-tag/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/a-tag/cross-http.no-redirect.http.html
index 3c3e39e..1e9ee507 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/a-tag/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/a-tag/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/a-tag/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/a-tag/cross-https.no-redirect.http.html
index 20a4881..4a06e840 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/a-tag/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/a-tag/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/a-tag/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/a-tag/same-http.no-redirect.http.html
index c45b1f4c..6b04a7e8 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/a-tag/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/a-tag/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/a-tag/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/a-tag/same-https.no-redirect.http.html
index 0a34f109..6e8c27b 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/a-tag/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/a-tag/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/fetch/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/fetch/cross-http.keep-origin.http.html
index 1662580..16d2d07 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/fetch/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/fetch/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/fetch/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/fetch/cross-http.no-redirect.http.html
index b05452f5..eb37f132 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/fetch/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/fetch/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/fetch/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/fetch/cross-http.swap-origin.http.html
index cfd7990..94bdab2 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/fetch/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/fetch/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/fetch/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/fetch/cross-https.keep-origin.http.html
index fa89fe7..9693fba 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/fetch/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/fetch/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/fetch/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/fetch/cross-https.no-redirect.http.html
index 8d5e2b0..70665d2b 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/fetch/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/fetch/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/fetch/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/fetch/cross-https.swap-origin.http.html
index cf2e2054..e932d32 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/fetch/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/fetch/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/fetch/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/fetch/same-http.keep-origin.http.html
index 59ec479..97f68e0 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/fetch/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/fetch/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/fetch/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/fetch/same-http.no-redirect.http.html
index f883d367..4524c2d 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/fetch/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/fetch/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/fetch/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/fetch/same-http.swap-origin.http.html
index fa64998f..1e685b22 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/fetch/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/fetch/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/fetch/same-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/fetch/same-https.keep-origin.http.html
index 5eb42a75..41a1ac3 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/fetch/same-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/fetch/same-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/fetch/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/fetch/same-https.no-redirect.http.html
index 80c44e1..7358d86b 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/fetch/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/fetch/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/fetch/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/fetch/same-https.swap-origin.http.html
index 8bf62ba..7e1c06d 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/fetch/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/fetch/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/iframe-tag/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/iframe-tag/cross-http.keep-origin.http.html
index a11fb430..0d40b8c 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/iframe-tag/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/iframe-tag/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/iframe-tag/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/iframe-tag/cross-http.no-redirect.http.html
index 4ed4f0e..99176391 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/iframe-tag/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/iframe-tag/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/iframe-tag/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/iframe-tag/cross-http.swap-origin.http.html
index 66270486..3b2746d 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/iframe-tag/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/iframe-tag/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/iframe-tag/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/iframe-tag/cross-https.keep-origin.http.html
index 0e1f69d..059a2d6 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/iframe-tag/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/iframe-tag/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/iframe-tag/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/iframe-tag/cross-https.no-redirect.http.html
index 1d4a266b..d43ae0a 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/iframe-tag/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/iframe-tag/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/iframe-tag/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/iframe-tag/cross-https.swap-origin.http.html
index 37af269..9692f56 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/iframe-tag/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/iframe-tag/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/iframe-tag/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/iframe-tag/same-http.keep-origin.http.html
index ee600f0..c2e55e27 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/iframe-tag/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/iframe-tag/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/iframe-tag/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/iframe-tag/same-http.no-redirect.http.html
index c144408..78774cf 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/iframe-tag/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/iframe-tag/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/iframe-tag/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/iframe-tag/same-http.swap-origin.http.html
index 78d874c..08b0ac93 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/iframe-tag/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/iframe-tag/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/iframe-tag/same-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/iframe-tag/same-https.keep-origin.http.html
index 05d5899..cb32702 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/iframe-tag/same-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/iframe-tag/same-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/iframe-tag/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/iframe-tag/same-https.no-redirect.http.html
index 180b42dd..2838cd9 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/iframe-tag/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/iframe-tag/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/iframe-tag/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/iframe-tag/same-https.swap-origin.http.html
index 8efb1f5..354dd988 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/iframe-tag/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/iframe-tag/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/img-tag/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/img-tag/cross-http.keep-origin.http.html
index 112b9268..18bad3a6 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/img-tag/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/img-tag/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/img-tag/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/img-tag/cross-http.no-redirect.http.html
index de4676d..89260d61 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/img-tag/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/img-tag/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/img-tag/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/img-tag/cross-http.swap-origin.http.html
index 4ee121f..67abaa5d 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/img-tag/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/img-tag/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/img-tag/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/img-tag/cross-https.keep-origin.http.html
index 025968b6..ffd380ac 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/img-tag/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/img-tag/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/img-tag/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/img-tag/cross-https.no-redirect.http.html
index 54a0de2..df378f6 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/img-tag/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/img-tag/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/img-tag/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/img-tag/cross-https.swap-origin.http.html
index b155363..5b6b84d9 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/img-tag/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/img-tag/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/img-tag/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/img-tag/same-http.keep-origin.http.html
index 7fea421..244d3304 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/img-tag/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/img-tag/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/img-tag/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/img-tag/same-http.no-redirect.http.html
index 2401b8f3..56a2eb97 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/img-tag/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/img-tag/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/img-tag/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/img-tag/same-http.swap-origin.http.html
index fa53b0b..85bdbc7 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/img-tag/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/img-tag/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/img-tag/same-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/img-tag/same-https.keep-origin.http.html
index ec819af..8e0f8da 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/img-tag/same-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/img-tag/same-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/img-tag/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/img-tag/same-https.no-redirect.http.html
index 4aceaac..3107f0d 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/img-tag/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/img-tag/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/img-tag/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/img-tag/same-https.swap-origin.http.html
index cd8fbfe9..f106363 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/img-tag/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/img-tag/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/script-tag/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/script-tag/cross-http.keep-origin.http.html
index 68f9e487..be1caba6 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/script-tag/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/script-tag/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/script-tag/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/script-tag/cross-http.no-redirect.http.html
index e50c977..7a0acfa 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/script-tag/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/script-tag/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/script-tag/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/script-tag/cross-http.swap-origin.http.html
index fb2648dd..3493b25c 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/script-tag/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/script-tag/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/script-tag/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/script-tag/cross-https.keep-origin.http.html
index 18eb49cf..6313714 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/script-tag/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/script-tag/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/script-tag/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/script-tag/cross-https.no-redirect.http.html
index a0843338..8a09a0a 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/script-tag/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/script-tag/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/script-tag/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/script-tag/cross-https.swap-origin.http.html
index 346a5e6..62dc281 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/script-tag/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/script-tag/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/script-tag/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/script-tag/same-http.keep-origin.http.html
index bd3d2fa..76fea04 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/script-tag/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/script-tag/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/script-tag/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/script-tag/same-http.no-redirect.http.html
index 9ba3776..bc909a6 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/script-tag/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/script-tag/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/script-tag/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/script-tag/same-http.swap-origin.http.html
index 1c874e8..fd9d14b 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/script-tag/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/script-tag/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/script-tag/same-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/script-tag/same-https.keep-origin.http.html
index baef78cb..abc4c33e 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/script-tag/same-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/script-tag/same-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/script-tag/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/script-tag/same-https.no-redirect.http.html
index 51c81ff..7fd5d2a 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/script-tag/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/script-tag/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/script-tag/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/script-tag/same-https.swap-origin.http.html
index f2c03ebcd..15c9a665 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/script-tag/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/script-tag/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/sharedworker-classic/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/sharedworker-classic/same-http.keep-origin.http.html
index f1a249f..ddb27f9 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/sharedworker-classic/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/sharedworker-classic/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/sharedworker-classic/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/sharedworker-classic/same-http.no-redirect.http.html
index 1f836c6..f85e490 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/sharedworker-classic/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/sharedworker-classic/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/worker-classic/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/worker-classic/same-http.keep-origin.http.html
index 1158bc7..95b18336 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/worker-classic/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/worker-classic/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/worker-classic/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/worker-classic/same-http.no-redirect.http.html
index de67fa3..6f7bcbf 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/worker-classic/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/worker-classic/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/worker-module/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/worker-module/same-http.keep-origin.http.html
index b6656c66..143c9fc 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/worker-module/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/worker-module/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/worker-module/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/worker-module/same-http.no-redirect.http.html
index 552e926e..ba4d399 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/worker-module/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/worker-module/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/xhr/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/xhr/cross-http.keep-origin.http.html
index c77a423..086414c 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/xhr/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/xhr/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/xhr/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/xhr/cross-http.no-redirect.http.html
index 3cf0e57..5d7ad10 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/xhr/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/xhr/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/xhr/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/xhr/cross-http.swap-origin.http.html
index 7a82b1a..30f2b39 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/xhr/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/xhr/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/xhr/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/xhr/cross-https.keep-origin.http.html
index 41170c6..47b798d 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/xhr/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/xhr/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/xhr/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/xhr/cross-https.no-redirect.http.html
index 220ff81..d5a5510 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/xhr/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/xhr/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/xhr/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/xhr/cross-https.swap-origin.http.html
index 3ea97ac3..176dc48 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/xhr/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/xhr/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/xhr/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/xhr/same-http.keep-origin.http.html
index 28f38a4..3f51d82 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/xhr/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/xhr/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/xhr/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/xhr/same-http.no-redirect.http.html
index 6e8631db..95684dd2 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/xhr/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/xhr/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/xhr/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/xhr/same-http.swap-origin.http.html
index af6dc67..b1de49c 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/xhr/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/xhr/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/xhr/same-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/xhr/same-https.keep-origin.http.html
index 51a52d0..9228bb6a 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/xhr/same-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/xhr/same-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/xhr/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/xhr/same-https.no-redirect.http.html
index 6bf08797..96bc099 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/xhr/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/xhr/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/xhr/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/xhr/same-https.swap-origin.http.html
index 1f0626a..f25d5fb 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/xhr/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/no-referrer/xhr/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/a-tag/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/a-tag/cross-http.no-redirect.http.html
index e332d57a..fab257dd 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/a-tag/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/a-tag/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/a-tag/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/a-tag/cross-https.no-redirect.http.html
index 790d5f7..bafedcf 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/a-tag/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/a-tag/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/a-tag/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/a-tag/same-http.no-redirect.http.html
index dd506fc..d8ef3354a 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/a-tag/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/a-tag/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/a-tag/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/a-tag/same-https.no-redirect.http.html
index 7b5468e..0c25521b 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/a-tag/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/a-tag/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/fetch/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/fetch/cross-http.keep-origin.http.html
index c58cb7c..c6dea13 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/fetch/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/fetch/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/fetch/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/fetch/cross-http.no-redirect.http.html
index 3d5df31d..9be5c2e 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/fetch/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/fetch/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/fetch/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/fetch/cross-http.swap-origin.http.html
index e694f13..4f797b6 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/fetch/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/fetch/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/fetch/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/fetch/cross-https.keep-origin.http.html
index 0cbc3be..245b5ec 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/fetch/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/fetch/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/fetch/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/fetch/cross-https.no-redirect.http.html
index 12b6a961..ff54b29 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/fetch/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/fetch/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/fetch/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/fetch/cross-https.swap-origin.http.html
index e528b97..1eb441d 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/fetch/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/fetch/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/fetch/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/fetch/same-http.keep-origin.http.html
index 350d7cf..010d992 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/fetch/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/fetch/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/fetch/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/fetch/same-http.no-redirect.http.html
index 850a8e8..cada33d 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/fetch/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/fetch/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/fetch/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/fetch/same-http.swap-origin.http.html
index d222bd29..8a8151fb 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/fetch/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/fetch/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/fetch/same-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/fetch/same-https.keep-origin.http.html
index 694a57d4..fab78eb 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/fetch/same-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/fetch/same-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/fetch/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/fetch/same-https.no-redirect.http.html
index 459cf30..43e3a20 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/fetch/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/fetch/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/fetch/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/fetch/same-https.swap-origin.http.html
index 1e951fa..febb2ba 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/fetch/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/fetch/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/iframe-tag/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/iframe-tag/cross-http.keep-origin.http.html
index 8ef8fd6..9de1045c62 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/iframe-tag/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/iframe-tag/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/iframe-tag/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/iframe-tag/cross-http.no-redirect.http.html
index aa355566..dd9a0784 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/iframe-tag/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/iframe-tag/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/iframe-tag/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/iframe-tag/cross-http.swap-origin.http.html
index 4d789df9..19122f3 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/iframe-tag/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/iframe-tag/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/iframe-tag/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/iframe-tag/cross-https.keep-origin.http.html
index acecfef..79c31cf 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/iframe-tag/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/iframe-tag/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/iframe-tag/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/iframe-tag/cross-https.no-redirect.http.html
index ecef3321..48d694af 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/iframe-tag/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/iframe-tag/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/iframe-tag/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/iframe-tag/cross-https.swap-origin.http.html
index 1de14dd..b163b43 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/iframe-tag/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/iframe-tag/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/iframe-tag/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/iframe-tag/same-http.keep-origin.http.html
index 5f94bbb..f668a455 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/iframe-tag/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/iframe-tag/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/iframe-tag/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/iframe-tag/same-http.no-redirect.http.html
index 6863810..0b2179a 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/iframe-tag/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/iframe-tag/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/iframe-tag/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/iframe-tag/same-http.swap-origin.http.html
index cb5e3637..b63b061 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/iframe-tag/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/iframe-tag/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/iframe-tag/same-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/iframe-tag/same-https.keep-origin.http.html
index e8a9ab43..c14a962 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/iframe-tag/same-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/iframe-tag/same-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/iframe-tag/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/iframe-tag/same-https.no-redirect.http.html
index 9f9813e..0dcd4ceec 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/iframe-tag/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/iframe-tag/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/iframe-tag/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/iframe-tag/same-https.swap-origin.http.html
index f4a8058..39eb627d 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/iframe-tag/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/iframe-tag/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/img-tag/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/img-tag/cross-http.keep-origin.http.html
index 088b203..743cc6a 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/img-tag/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/img-tag/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/img-tag/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/img-tag/cross-http.no-redirect.http.html
index c79f0b3..cb35a21 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/img-tag/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/img-tag/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/img-tag/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/img-tag/cross-http.swap-origin.http.html
index d4e54c08..5a4e0508 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/img-tag/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/img-tag/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/img-tag/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/img-tag/cross-https.keep-origin.http.html
index ac4ca12..9bb8ac57 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/img-tag/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/img-tag/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/img-tag/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/img-tag/cross-https.no-redirect.http.html
index 66ab573..62fc2a0 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/img-tag/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/img-tag/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/img-tag/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/img-tag/cross-https.swap-origin.http.html
index 40d68fc..35d0445 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/img-tag/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/img-tag/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/img-tag/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/img-tag/same-http.keep-origin.http.html
index f3a0351..37be3a3 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/img-tag/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/img-tag/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/img-tag/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/img-tag/same-http.no-redirect.http.html
index 8432eab..f6f53d3 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/img-tag/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/img-tag/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/img-tag/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/img-tag/same-http.swap-origin.http.html
index b5a678d0e..6ed394c 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/img-tag/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/img-tag/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/img-tag/same-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/img-tag/same-https.keep-origin.http.html
index 23558d8..0f499387 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/img-tag/same-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/img-tag/same-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/img-tag/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/img-tag/same-https.no-redirect.http.html
index 08b627f..b0738fa 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/img-tag/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/img-tag/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/img-tag/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/img-tag/same-https.swap-origin.http.html
index cc5e6a34..45e55fa 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/img-tag/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/img-tag/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/script-tag/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/script-tag/cross-http.keep-origin.http.html
index 11581aac..3f318e0 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/script-tag/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/script-tag/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/script-tag/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/script-tag/cross-http.no-redirect.http.html
index 0aaf48c..5bfaa6cb 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/script-tag/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/script-tag/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/script-tag/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/script-tag/cross-http.swap-origin.http.html
index 9682cc4..11e17a1 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/script-tag/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/script-tag/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/script-tag/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/script-tag/cross-https.keep-origin.http.html
index 6362258b..b1edae5 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/script-tag/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/script-tag/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/script-tag/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/script-tag/cross-https.no-redirect.http.html
index 317f9dc8..b154fac 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/script-tag/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/script-tag/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/script-tag/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/script-tag/cross-https.swap-origin.http.html
index 7e5114e..f58ee4d2 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/script-tag/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/script-tag/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/script-tag/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/script-tag/same-http.keep-origin.http.html
index 550b2c1..f0b296a 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/script-tag/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/script-tag/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/script-tag/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/script-tag/same-http.no-redirect.http.html
index abb407f..eb158627 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/script-tag/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/script-tag/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/script-tag/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/script-tag/same-http.swap-origin.http.html
index dd4e877d..bd2d53c 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/script-tag/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/script-tag/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/script-tag/same-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/script-tag/same-https.keep-origin.http.html
index 4436f05..436e29b 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/script-tag/same-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/script-tag/same-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/script-tag/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/script-tag/same-https.no-redirect.http.html
index fba6c92..0bafa85 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/script-tag/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/script-tag/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/script-tag/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/script-tag/same-https.swap-origin.http.html
index 0350fd66..976bd16 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/script-tag/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/script-tag/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html
index 03abe36..81442203 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html
index f220d76..a48bb8bb 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html
index a97293e..45589e0 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html
index 256343a..46b0761 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/worker-module/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/worker-module/same-http.keep-origin.http.html
index 89da503e..4263c9ca37 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/worker-module/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/worker-module/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/worker-module/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/worker-module/same-http.no-redirect.http.html
index 566f78b..37aa91a2 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/worker-module/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/worker-module/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/xhr/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/xhr/cross-http.keep-origin.http.html
index 64d7baa..913aa056 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/xhr/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/xhr/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/xhr/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/xhr/cross-http.no-redirect.http.html
index 1e087a1..b33622d6 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/xhr/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/xhr/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/xhr/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/xhr/cross-http.swap-origin.http.html
index 07d84ff..dbd1d60 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/xhr/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/xhr/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/xhr/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/xhr/cross-https.keep-origin.http.html
index 55c2083..4e785bd 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/xhr/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/xhr/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/xhr/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/xhr/cross-https.no-redirect.http.html
index e0792a2..7cee1ee 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/xhr/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/xhr/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/xhr/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/xhr/cross-https.swap-origin.http.html
index 3c2d875..17ca3b0d 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/xhr/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/xhr/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/xhr/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/xhr/same-http.keep-origin.http.html
index bea5b349..0dc78e46 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/xhr/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/xhr/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/xhr/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/xhr/same-http.no-redirect.http.html
index a90fdc6..6646c6f 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/xhr/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/xhr/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/xhr/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/xhr/same-http.swap-origin.http.html
index 38040fe..5509539 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/xhr/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/xhr/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/xhr/same-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/xhr/same-https.keep-origin.http.html
index f0e9a7f1..b2eac1b7 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/xhr/same-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/xhr/same-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/xhr/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/xhr/same-https.no-redirect.http.html
index e5429b6e..60d0079 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/xhr/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/xhr/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/xhr/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/xhr/same-https.swap-origin.http.html
index 2fbb1450..d35863d 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/xhr/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin-when-cross-origin/xhr/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/a-tag/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/a-tag/cross-http.no-redirect.http.html
index 40aabbd..99ae09e0 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/a-tag/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/a-tag/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/a-tag/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/a-tag/cross-https.no-redirect.http.html
index 3ca4033..766f4b0d 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/a-tag/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/a-tag/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/a-tag/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/a-tag/same-http.no-redirect.http.html
index 9bffefa6..3e6668a 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/a-tag/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/a-tag/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/a-tag/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/a-tag/same-https.no-redirect.http.html
index 2174421..5a430021 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/a-tag/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/a-tag/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/fetch/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/fetch/cross-http.keep-origin.http.html
index 4f6f519..0c32a509 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/fetch/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/fetch/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/fetch/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/fetch/cross-http.no-redirect.http.html
index 34a0c86b..8c308f3 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/fetch/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/fetch/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/fetch/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/fetch/cross-http.swap-origin.http.html
index 9e8df6a..ce2759c 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/fetch/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/fetch/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/fetch/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/fetch/cross-https.keep-origin.http.html
index e36c3b5..36adf76 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/fetch/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/fetch/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/fetch/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/fetch/cross-https.no-redirect.http.html
index 2e0052a..5acbecef 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/fetch/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/fetch/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/fetch/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/fetch/cross-https.swap-origin.http.html
index 58bc8bd..69a3326 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/fetch/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/fetch/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/fetch/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/fetch/same-http.keep-origin.http.html
index 27dd44c..7f8590b 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/fetch/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/fetch/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/fetch/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/fetch/same-http.no-redirect.http.html
index f6b77d4..3c664a3 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/fetch/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/fetch/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/fetch/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/fetch/same-http.swap-origin.http.html
index 9c1f0e0..e0b6d2a 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/fetch/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/fetch/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/fetch/same-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/fetch/same-https.keep-origin.http.html
index 51d5c12..f6ba0d1 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/fetch/same-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/fetch/same-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/fetch/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/fetch/same-https.no-redirect.http.html
index c79ae74..ba22bcd3 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/fetch/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/fetch/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/fetch/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/fetch/same-https.swap-origin.http.html
index b36071d..448160f 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/fetch/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/fetch/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/iframe-tag/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/iframe-tag/cross-http.keep-origin.http.html
index 4f7bd2d..2d0778f 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/iframe-tag/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/iframe-tag/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/iframe-tag/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/iframe-tag/cross-http.no-redirect.http.html
index a4dae22b..f19cca8 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/iframe-tag/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/iframe-tag/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/iframe-tag/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/iframe-tag/cross-http.swap-origin.http.html
index 7818554..3d04983 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/iframe-tag/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/iframe-tag/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/iframe-tag/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/iframe-tag/cross-https.keep-origin.http.html
index f1fe7c006..81c10f2 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/iframe-tag/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/iframe-tag/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/iframe-tag/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/iframe-tag/cross-https.no-redirect.http.html
index 933c672..338a487 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/iframe-tag/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/iframe-tag/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/iframe-tag/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/iframe-tag/cross-https.swap-origin.http.html
index d315738..5c0951d 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/iframe-tag/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/iframe-tag/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/iframe-tag/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/iframe-tag/same-http.keep-origin.http.html
index 178968e6..0b599bea 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/iframe-tag/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/iframe-tag/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/iframe-tag/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/iframe-tag/same-http.no-redirect.http.html
index 65213cf..32d73c17 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/iframe-tag/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/iframe-tag/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/iframe-tag/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/iframe-tag/same-http.swap-origin.http.html
index ca9c9df..d41f8f6 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/iframe-tag/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/iframe-tag/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/iframe-tag/same-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/iframe-tag/same-https.keep-origin.http.html
index 9636530..99f6320 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/iframe-tag/same-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/iframe-tag/same-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/iframe-tag/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/iframe-tag/same-https.no-redirect.http.html
index 3d04897..69305a0 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/iframe-tag/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/iframe-tag/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/iframe-tag/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/iframe-tag/same-https.swap-origin.http.html
index 1a3508e..eef425d 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/iframe-tag/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/iframe-tag/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/img-tag/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/img-tag/cross-http.keep-origin.http.html
index 6670d6d..97bb25a 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/img-tag/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/img-tag/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/img-tag/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/img-tag/cross-http.no-redirect.http.html
index c25a336..2e11e44 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/img-tag/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/img-tag/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/img-tag/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/img-tag/cross-http.swap-origin.http.html
index 3d7ad21..60775ba 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/img-tag/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/img-tag/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/img-tag/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/img-tag/cross-https.keep-origin.http.html
index a11fa5d9..ac8d8a9a 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/img-tag/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/img-tag/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/img-tag/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/img-tag/cross-https.no-redirect.http.html
index 11a545f1..f7ecbdc 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/img-tag/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/img-tag/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/img-tag/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/img-tag/cross-https.swap-origin.http.html
index 21c6d95..ca99ee0 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/img-tag/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/img-tag/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/img-tag/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/img-tag/same-http.keep-origin.http.html
index ff1ab459..39f770ce 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/img-tag/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/img-tag/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/img-tag/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/img-tag/same-http.no-redirect.http.html
index 1b6646d..67a83a8 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/img-tag/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/img-tag/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/img-tag/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/img-tag/same-http.swap-origin.http.html
index 0d17830..db5f2e1 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/img-tag/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/img-tag/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/img-tag/same-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/img-tag/same-https.keep-origin.http.html
index 3a05e06e..12c2f63 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/img-tag/same-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/img-tag/same-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/img-tag/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/img-tag/same-https.no-redirect.http.html
index c33af79..577f687 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/img-tag/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/img-tag/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/img-tag/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/img-tag/same-https.swap-origin.http.html
index 92344cc..df9ceec 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/img-tag/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/img-tag/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/script-tag/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/script-tag/cross-http.keep-origin.http.html
index 8351133..22da8ee 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/script-tag/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/script-tag/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/script-tag/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/script-tag/cross-http.no-redirect.http.html
index 945f2bb..29c997c 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/script-tag/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/script-tag/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/script-tag/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/script-tag/cross-http.swap-origin.http.html
index bf97f96..686d752 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/script-tag/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/script-tag/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/script-tag/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/script-tag/cross-https.keep-origin.http.html
index 26c541a..19b2b3cd 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/script-tag/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/script-tag/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/script-tag/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/script-tag/cross-https.no-redirect.http.html
index a78bdd5..9c29b03 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/script-tag/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/script-tag/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/script-tag/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/script-tag/cross-https.swap-origin.http.html
index 050da34..834b8f3 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/script-tag/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/script-tag/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/script-tag/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/script-tag/same-http.keep-origin.http.html
index 829caf65..2a5d372f 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/script-tag/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/script-tag/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/script-tag/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/script-tag/same-http.no-redirect.http.html
index ab8aabb..ad48273 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/script-tag/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/script-tag/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/script-tag/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/script-tag/same-http.swap-origin.http.html
index 2d6ba47..0b95cd1 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/script-tag/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/script-tag/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/script-tag/same-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/script-tag/same-https.keep-origin.http.html
index af54bee..9402a90 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/script-tag/same-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/script-tag/same-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/script-tag/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/script-tag/same-https.no-redirect.http.html
index 3d7ed51d..12d7fa6 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/script-tag/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/script-tag/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/script-tag/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/script-tag/same-https.swap-origin.http.html
index 8c2c4493..483a21bb 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/script-tag/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/script-tag/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/sharedworker-classic/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/sharedworker-classic/same-http.keep-origin.http.html
index 8b26ae4..9bb9edc 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/sharedworker-classic/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/sharedworker-classic/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/sharedworker-classic/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/sharedworker-classic/same-http.no-redirect.http.html
index 2e11e130..d4c469d 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/sharedworker-classic/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/sharedworker-classic/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/worker-classic/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/worker-classic/same-http.keep-origin.http.html
index 7e22728..f209c5c 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/worker-classic/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/worker-classic/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/worker-classic/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/worker-classic/same-http.no-redirect.http.html
index 382e186..dd36255 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/worker-classic/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/worker-classic/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/worker-module/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/worker-module/same-http.keep-origin.http.html
index 8179b7a..7d8d98b8 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/worker-module/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/worker-module/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/worker-module/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/worker-module/same-http.no-redirect.http.html
index 51f2f9e..1d6c72b4 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/worker-module/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/worker-module/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/xhr/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/xhr/cross-http.keep-origin.http.html
index a41d69ad..e6d8e3a 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/xhr/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/xhr/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/xhr/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/xhr/cross-http.no-redirect.http.html
index 456f0bf..8699a38 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/xhr/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/xhr/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/xhr/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/xhr/cross-http.swap-origin.http.html
index 0081e74..32318f63 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/xhr/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/xhr/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/xhr/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/xhr/cross-https.keep-origin.http.html
index 7abd36b..ee0d6ef 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/xhr/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/xhr/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/xhr/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/xhr/cross-https.no-redirect.http.html
index 0394d16..ab5bbcd 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/xhr/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/xhr/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/xhr/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/xhr/cross-https.swap-origin.http.html
index 315b1af6..6cb441f 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/xhr/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/xhr/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/xhr/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/xhr/same-http.keep-origin.http.html
index 227aec5..5bfdc033 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/xhr/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/xhr/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/xhr/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/xhr/same-http.no-redirect.http.html
index a1f6d30..32e1ffa 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/xhr/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/xhr/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/xhr/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/xhr/same-http.swap-origin.http.html
index 1752869..ac57d09 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/xhr/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/xhr/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/xhr/same-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/xhr/same-https.keep-origin.http.html
index 45ad932..9465c02 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/xhr/same-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/xhr/same-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/xhr/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/xhr/same-https.no-redirect.http.html
index 24b16af..7e57d479 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/xhr/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/xhr/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/xhr/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/xhr/same-https.swap-origin.http.html
index a2c0e8ae..e1bbbc32 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/xhr/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/origin/xhr/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/a-tag/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/a-tag/cross-http.no-redirect.http.html
index 2b9d2097..3cc76c7 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/a-tag/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/a-tag/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/a-tag/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/a-tag/cross-https.no-redirect.http.html
index f47e691..129f964 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/a-tag/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/a-tag/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/a-tag/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/a-tag/same-http.no-redirect.http.html
index 13f42bc..beaf04fa 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/a-tag/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/a-tag/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/fetch/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/fetch/cross-http.keep-origin.http.html
index 8f34e4b4..2940080 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/fetch/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/fetch/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/fetch/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/fetch/cross-http.no-redirect.http.html
index 1508e7b6..f7ae2c15 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/fetch/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/fetch/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/fetch/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/fetch/cross-http.swap-origin.http.html
index 7aee58850..39087e4 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/fetch/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/fetch/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/fetch/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/fetch/cross-https.keep-origin.http.html
index 3fb3fc8..f33ff33 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/fetch/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/fetch/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/fetch/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/fetch/cross-https.no-redirect.http.html
index fce68ea7..ddaebd57 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/fetch/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/fetch/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/fetch/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/fetch/cross-https.swap-origin.http.html
index ce29d47..d594aaf6 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/fetch/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/fetch/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/fetch/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/fetch/same-http.keep-origin.http.html
index b08ea62..13b32f7 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/fetch/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/fetch/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/fetch/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/fetch/same-http.no-redirect.http.html
index c3228e6..d7938aa 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/fetch/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/fetch/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/fetch/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/fetch/same-http.swap-origin.http.html
index 959da6b..db62a2b1 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/fetch/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/fetch/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/fetch/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/fetch/same-https.swap-origin.http.html
index 7d4cd74..01849606 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/fetch/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/fetch/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/iframe-tag/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/iframe-tag/cross-http.keep-origin.http.html
index 21f8c31..d5dc8ad 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/iframe-tag/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/iframe-tag/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/iframe-tag/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/iframe-tag/cross-http.no-redirect.http.html
index 9280b14..bb20062 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/iframe-tag/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/iframe-tag/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/iframe-tag/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/iframe-tag/cross-http.swap-origin.http.html
index de7dd9f..76df663 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/iframe-tag/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/iframe-tag/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/iframe-tag/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/iframe-tag/cross-https.keep-origin.http.html
index 3fe94d9..0b0d49b 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/iframe-tag/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/iframe-tag/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/iframe-tag/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/iframe-tag/cross-https.no-redirect.http.html
index 147691d..aecdddae 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/iframe-tag/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/iframe-tag/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/iframe-tag/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/iframe-tag/cross-https.swap-origin.http.html
index 10f02d3..c591a8b 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/iframe-tag/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/iframe-tag/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/iframe-tag/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/iframe-tag/same-http.keep-origin.http.html
index 839a460..002f1b0 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/iframe-tag/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/iframe-tag/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/iframe-tag/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/iframe-tag/same-http.no-redirect.http.html
index 6adde40..a11ea001 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/iframe-tag/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/iframe-tag/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/iframe-tag/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/iframe-tag/same-http.swap-origin.http.html
index 18b9318..42d5b63 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/iframe-tag/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/iframe-tag/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/iframe-tag/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/iframe-tag/same-https.swap-origin.http.html
index 99754a1..054ef8e1 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/iframe-tag/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/iframe-tag/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/img-tag/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/img-tag/cross-http.keep-origin.http.html
index 7d76b2d..757c6cf 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/img-tag/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/img-tag/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/img-tag/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/img-tag/cross-http.no-redirect.http.html
index 6f3f81e..76568468 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/img-tag/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/img-tag/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/img-tag/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/img-tag/cross-http.swap-origin.http.html
index 0764422..487d0a62 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/img-tag/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/img-tag/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/img-tag/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/img-tag/cross-https.keep-origin.http.html
index c99b805..3276d4a 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/img-tag/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/img-tag/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/img-tag/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/img-tag/cross-https.no-redirect.http.html
index abd5da8..f6fb89a 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/img-tag/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/img-tag/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/img-tag/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/img-tag/cross-https.swap-origin.http.html
index de3f34e..680dcfd 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/img-tag/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/img-tag/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/img-tag/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/img-tag/same-http.keep-origin.http.html
index 02890f0..5c84aae 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/img-tag/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/img-tag/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/img-tag/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/img-tag/same-http.no-redirect.http.html
index d53b6b67..717507f 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/img-tag/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/img-tag/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/img-tag/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/img-tag/same-http.swap-origin.http.html
index e7f8f4e1c..919c0f8 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/img-tag/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/img-tag/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/img-tag/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/img-tag/same-https.swap-origin.http.html
index 323971a..af9925a8 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/img-tag/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/img-tag/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/script-tag/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/script-tag/cross-http.keep-origin.http.html
index 9339fe1..c7143f6 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/script-tag/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/script-tag/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/script-tag/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/script-tag/cross-http.no-redirect.http.html
index eb440bf..961cb3a 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/script-tag/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/script-tag/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/script-tag/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/script-tag/cross-http.swap-origin.http.html
index c86ad7a..3db8329 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/script-tag/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/script-tag/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/script-tag/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/script-tag/cross-https.keep-origin.http.html
index f61132e7..139b04a 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/script-tag/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/script-tag/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/script-tag/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/script-tag/cross-https.no-redirect.http.html
index b62e58c..ec0e8df 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/script-tag/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/script-tag/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/script-tag/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/script-tag/cross-https.swap-origin.http.html
index 78b5d49..1be2acd 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/script-tag/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/script-tag/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/script-tag/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/script-tag/same-http.keep-origin.http.html
index 0aed5b0..24e5f26 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/script-tag/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/script-tag/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/script-tag/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/script-tag/same-http.no-redirect.http.html
index 7a6f1a2..1a99022 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/script-tag/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/script-tag/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/script-tag/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/script-tag/same-http.swap-origin.http.html
index 433b905..7a361b7 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/script-tag/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/script-tag/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/script-tag/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/script-tag/same-https.swap-origin.http.html
index a18912f..188c8b0e 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/script-tag/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/script-tag/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/sharedworker-classic/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/sharedworker-classic/same-http.keep-origin.http.html
index 8528aa8..9f4a1d4 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/sharedworker-classic/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/sharedworker-classic/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/sharedworker-classic/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/sharedworker-classic/same-http.no-redirect.http.html
index f2e87c9c..166160a 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/sharedworker-classic/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/sharedworker-classic/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/worker-classic/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/worker-classic/same-http.keep-origin.http.html
index 4478b05..5ee8e5e 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/worker-classic/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/worker-classic/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/worker-classic/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/worker-classic/same-http.no-redirect.http.html
index 971c35f..22f2b90 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/worker-classic/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/worker-classic/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/worker-module/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/worker-module/same-http.keep-origin.http.html
index 4646ac1..19792dcc 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/worker-module/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/worker-module/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/worker-module/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/worker-module/same-http.no-redirect.http.html
index 34380c9..372ef303 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/worker-module/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/worker-module/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/xhr/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/xhr/cross-http.keep-origin.http.html
index 991590d..90701196 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/xhr/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/xhr/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/xhr/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/xhr/cross-http.no-redirect.http.html
index d1c5e767..54a7216 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/xhr/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/xhr/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/xhr/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/xhr/cross-http.swap-origin.http.html
index 4d59243..1562379 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/xhr/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/xhr/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/xhr/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/xhr/cross-https.keep-origin.http.html
index 9fe84a6..c8d6c8ce 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/xhr/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/xhr/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/xhr/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/xhr/cross-https.no-redirect.http.html
index 68c2467..7e2fe40 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/xhr/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/xhr/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/xhr/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/xhr/cross-https.swap-origin.http.html
index cde1378..8d658e0 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/xhr/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/xhr/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/xhr/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/xhr/same-http.keep-origin.http.html
index 02b2b05..13927c0 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/xhr/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/xhr/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/xhr/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/xhr/same-http.no-redirect.http.html
index b82f10f..0859252 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/xhr/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/xhr/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/xhr/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/xhr/same-http.swap-origin.http.html
index 0a691b5..00fa897 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/xhr/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/xhr/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/xhr/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/xhr/same-https.swap-origin.http.html
index 84c5c47a..effafc0 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/xhr/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/same-origin/xhr/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/a-tag/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/a-tag/cross-http.no-redirect.http.html
index 381a8d7..3fb5141 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/a-tag/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/a-tag/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/a-tag/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/a-tag/cross-https.no-redirect.http.html
index ce7471041..5b16684b 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/a-tag/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/a-tag/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/a-tag/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/a-tag/same-http.no-redirect.http.html
index bed1549..981e166b 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/a-tag/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/a-tag/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/a-tag/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/a-tag/same-https.no-redirect.http.html
index b4a8996..50c149f 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/a-tag/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/a-tag/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/fetch/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/fetch/cross-http.keep-origin.http.html
index 7ff567aa..8a7503f 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/fetch/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/fetch/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/fetch/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/fetch/cross-http.no-redirect.http.html
index 1d8baf96..038e24d 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/fetch/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/fetch/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/fetch/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/fetch/cross-http.swap-origin.http.html
index 0b9637e..e241e78 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/fetch/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/fetch/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/fetch/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/fetch/cross-https.keep-origin.http.html
index 8356d02..5dbdb55 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/fetch/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/fetch/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/fetch/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/fetch/cross-https.no-redirect.http.html
index 7549a65..4cb9828 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/fetch/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/fetch/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/fetch/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/fetch/cross-https.swap-origin.http.html
index f9b940e..a0b52e5 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/fetch/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/fetch/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/fetch/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/fetch/same-http.keep-origin.http.html
index dd7a2472..5e4a844 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/fetch/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/fetch/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/fetch/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/fetch/same-http.no-redirect.http.html
index cba2148..578307a 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/fetch/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/fetch/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/fetch/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/fetch/same-http.swap-origin.http.html
index 8d4768f3..0c41cffd 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/fetch/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/fetch/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/fetch/same-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/fetch/same-https.keep-origin.http.html
index 242469e..43dbd10 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/fetch/same-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/fetch/same-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/fetch/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/fetch/same-https.no-redirect.http.html
index e2daede..99c6281 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/fetch/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/fetch/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/fetch/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/fetch/same-https.swap-origin.http.html
index 247684e..2300760 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/fetch/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/fetch/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/iframe-tag/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/iframe-tag/cross-http.keep-origin.http.html
index d5ef4e6..ca13e72 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/iframe-tag/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/iframe-tag/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/iframe-tag/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/iframe-tag/cross-http.no-redirect.http.html
index 5587203..a967ca30 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/iframe-tag/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/iframe-tag/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/iframe-tag/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/iframe-tag/cross-http.swap-origin.http.html
index 9bed03a5..28ed994 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/iframe-tag/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/iframe-tag/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/iframe-tag/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/iframe-tag/cross-https.keep-origin.http.html
index 9b114b16f..7ac86c29 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/iframe-tag/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/iframe-tag/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/iframe-tag/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/iframe-tag/cross-https.no-redirect.http.html
index 2637b57..6d128801 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/iframe-tag/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/iframe-tag/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/iframe-tag/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/iframe-tag/cross-https.swap-origin.http.html
index 6241294..179cee2 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/iframe-tag/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/iframe-tag/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/iframe-tag/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/iframe-tag/same-http.keep-origin.http.html
index 654680d7..e4a15f4 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/iframe-tag/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/iframe-tag/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/iframe-tag/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/iframe-tag/same-http.no-redirect.http.html
index fed512ec..8b73fc1 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/iframe-tag/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/iframe-tag/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/iframe-tag/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/iframe-tag/same-http.swap-origin.http.html
index f97f14d..60f4191 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/iframe-tag/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/iframe-tag/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/iframe-tag/same-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/iframe-tag/same-https.keep-origin.http.html
index 56b9f6f..30d946e11 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/iframe-tag/same-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/iframe-tag/same-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/iframe-tag/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/iframe-tag/same-https.no-redirect.http.html
index aa9c6ff..32f0720 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/iframe-tag/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/iframe-tag/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/iframe-tag/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/iframe-tag/same-https.swap-origin.http.html
index d995d23..24de41c 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/iframe-tag/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/iframe-tag/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/img-tag/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/img-tag/cross-http.keep-origin.http.html
index 6486b9d..31c651b 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/img-tag/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/img-tag/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/img-tag/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/img-tag/cross-http.no-redirect.http.html
index 1c49b35..3e6139f 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/img-tag/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/img-tag/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/img-tag/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/img-tag/cross-http.swap-origin.http.html
index 2bc4da5..8323b499 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/img-tag/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/img-tag/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/img-tag/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/img-tag/cross-https.keep-origin.http.html
index 5e25e16..761bf9bf 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/img-tag/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/img-tag/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/img-tag/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/img-tag/cross-https.no-redirect.http.html
index 81df37d..9662bb3e 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/img-tag/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/img-tag/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/img-tag/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/img-tag/cross-https.swap-origin.http.html
index f6f52aa..985607ff 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/img-tag/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/img-tag/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/img-tag/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/img-tag/same-http.keep-origin.http.html
index bf41468..8da5c17 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/img-tag/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/img-tag/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/img-tag/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/img-tag/same-http.no-redirect.http.html
index b5f5ef8..28d81ef 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/img-tag/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/img-tag/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/img-tag/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/img-tag/same-http.swap-origin.http.html
index fa1d2283..95064a3 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/img-tag/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/img-tag/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/img-tag/same-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/img-tag/same-https.keep-origin.http.html
index f642c322..984f4b01 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/img-tag/same-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/img-tag/same-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/img-tag/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/img-tag/same-https.no-redirect.http.html
index 073589c..0e240a08 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/img-tag/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/img-tag/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/img-tag/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/img-tag/same-https.swap-origin.http.html
index 67d55d8..69793c2 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/img-tag/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/img-tag/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/script-tag/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/script-tag/cross-http.keep-origin.http.html
index 74767b3..aa7bd07 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/script-tag/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/script-tag/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/script-tag/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/script-tag/cross-http.no-redirect.http.html
index e492658..413a228 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/script-tag/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/script-tag/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/script-tag/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/script-tag/cross-http.swap-origin.http.html
index 2f9c2e4..3a74833 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/script-tag/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/script-tag/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/script-tag/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/script-tag/cross-https.keep-origin.http.html
index 19f399b9..5bb1657 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/script-tag/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/script-tag/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/script-tag/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/script-tag/cross-https.no-redirect.http.html
index ae82747..0bb50cc 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/script-tag/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/script-tag/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/script-tag/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/script-tag/cross-https.swap-origin.http.html
index 2435daa..23642733 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/script-tag/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/script-tag/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/script-tag/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/script-tag/same-http.keep-origin.http.html
index 3cc3cd8..b82f84d4 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/script-tag/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/script-tag/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/script-tag/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/script-tag/same-http.no-redirect.http.html
index e75fd6e..b8f5474 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/script-tag/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/script-tag/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/script-tag/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/script-tag/same-http.swap-origin.http.html
index 0883f6a..27144b99 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/script-tag/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/script-tag/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/script-tag/same-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/script-tag/same-https.keep-origin.http.html
index 7d383a87..53e42b69 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/script-tag/same-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/script-tag/same-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/script-tag/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/script-tag/same-https.no-redirect.http.html
index d6b6216..c0de49f4 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/script-tag/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/script-tag/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/script-tag/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/script-tag/same-https.swap-origin.http.html
index 2d909b0..d27684e 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/script-tag/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/script-tag/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html
index 9d4f182..b22bc8e7 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html
index c55a155..9f2bf170 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html
index 2f77e61..c7382dc2 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html
index ce7579e..1f6a02c 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/worker-module/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/worker-module/same-http.keep-origin.http.html
index 5cc1908..1ee00d1 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/worker-module/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/worker-module/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/worker-module/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/worker-module/same-http.no-redirect.http.html
index 9b27acf..fe2898b 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/worker-module/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/worker-module/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/xhr/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/xhr/cross-http.keep-origin.http.html
index db2434cd..95b74be4 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/xhr/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/xhr/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/xhr/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/xhr/cross-http.no-redirect.http.html
index 8f7e4439..69cd183f 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/xhr/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/xhr/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/xhr/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/xhr/cross-http.swap-origin.http.html
index 1bd2cd5..a6eee7d 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/xhr/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/xhr/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/xhr/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/xhr/cross-https.keep-origin.http.html
index f96b0ba..3259c33f 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/xhr/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/xhr/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/xhr/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/xhr/cross-https.no-redirect.http.html
index f69f347..7f18003 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/xhr/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/xhr/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/xhr/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/xhr/cross-https.swap-origin.http.html
index 4d98307..03839b5 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/xhr/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/xhr/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/xhr/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/xhr/same-http.keep-origin.http.html
index 0faa04f..b0e632dd 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/xhr/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/xhr/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/xhr/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/xhr/same-http.no-redirect.http.html
index 71d259aa..e87ee71 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/xhr/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/xhr/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/xhr/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/xhr/same-http.swap-origin.http.html
index 229e4d8..c65e7c3 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/xhr/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/xhr/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/xhr/same-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/xhr/same-https.keep-origin.http.html
index aa80aca..e3e18f2a 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/xhr/same-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/xhr/same-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/xhr/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/xhr/same-https.no-redirect.http.html
index fd083ee..223003f 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/xhr/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/xhr/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/xhr/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/xhr/same-https.swap-origin.http.html
index ae41601..9490773 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/xhr/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin-when-cross-origin/xhr/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/a-tag/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/a-tag/cross-http.no-redirect.http.html
index d8400eb..17391c8 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/a-tag/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/a-tag/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/a-tag/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/a-tag/cross-https.no-redirect.http.html
index 2df96cc..1098185 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/a-tag/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/a-tag/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/a-tag/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/a-tag/same-http.no-redirect.http.html
index 5ff2faa..13197b62 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/a-tag/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/a-tag/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/a-tag/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/a-tag/same-https.no-redirect.http.html
index 88262943..a1a501f 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/a-tag/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/a-tag/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/fetch/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/fetch/cross-http.keep-origin.http.html
index 26755b1..2353cee 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/fetch/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/fetch/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/fetch/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/fetch/cross-http.no-redirect.http.html
index 762b2a3..dc1667cbc 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/fetch/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/fetch/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/fetch/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/fetch/cross-http.swap-origin.http.html
index 06bec6d..c8448c5 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/fetch/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/fetch/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/fetch/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/fetch/cross-https.keep-origin.http.html
index b9066e8..de81ab0 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/fetch/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/fetch/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/fetch/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/fetch/cross-https.no-redirect.http.html
index e1f4061..6cdaa16 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/fetch/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/fetch/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/fetch/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/fetch/cross-https.swap-origin.http.html
index b9efba7..5f9b73e 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/fetch/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/fetch/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/fetch/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/fetch/same-http.keep-origin.http.html
index d70c493..b1ffa0b 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/fetch/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/fetch/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/fetch/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/fetch/same-http.no-redirect.http.html
index 0716718..0064088 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/fetch/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/fetch/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/fetch/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/fetch/same-http.swap-origin.http.html
index 7e4592a..0dc59c1 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/fetch/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/fetch/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/fetch/same-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/fetch/same-https.keep-origin.http.html
index e17f401..a9b58ef 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/fetch/same-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/fetch/same-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/fetch/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/fetch/same-https.no-redirect.http.html
index c1ba382a6..83280ce 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/fetch/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/fetch/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/fetch/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/fetch/same-https.swap-origin.http.html
index ae8e73c..27e56b9 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/fetch/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/fetch/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/iframe-tag/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/iframe-tag/cross-http.keep-origin.http.html
index cc41d60..d1e79b0 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/iframe-tag/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/iframe-tag/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/iframe-tag/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/iframe-tag/cross-http.no-redirect.http.html
index 64a356a..5dbfc5395 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/iframe-tag/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/iframe-tag/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/iframe-tag/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/iframe-tag/cross-http.swap-origin.http.html
index 05ab090..85c2ba4 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/iframe-tag/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/iframe-tag/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/iframe-tag/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/iframe-tag/cross-https.keep-origin.http.html
index 74dfe450..d85ca1c 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/iframe-tag/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/iframe-tag/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/iframe-tag/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/iframe-tag/cross-https.no-redirect.http.html
index 02a1084..1b314059 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/iframe-tag/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/iframe-tag/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/iframe-tag/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/iframe-tag/cross-https.swap-origin.http.html
index 60665b9..a317d41 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/iframe-tag/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/iframe-tag/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/iframe-tag/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/iframe-tag/same-http.keep-origin.http.html
index f520223..5e4d877172 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/iframe-tag/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/iframe-tag/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/iframe-tag/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/iframe-tag/same-http.no-redirect.http.html
index 544c58d2..94c21f5 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/iframe-tag/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/iframe-tag/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/iframe-tag/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/iframe-tag/same-http.swap-origin.http.html
index fb80a72..18d19be 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/iframe-tag/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/iframe-tag/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/iframe-tag/same-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/iframe-tag/same-https.keep-origin.http.html
index 9795a487..2eee2a6 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/iframe-tag/same-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/iframe-tag/same-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/iframe-tag/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/iframe-tag/same-https.no-redirect.http.html
index abcbee9..ed30007 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/iframe-tag/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/iframe-tag/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/iframe-tag/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/iframe-tag/same-https.swap-origin.http.html
index c810294..21144a5 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/iframe-tag/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/iframe-tag/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/img-tag/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/img-tag/cross-http.keep-origin.http.html
index 657908de..5289d6c 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/img-tag/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/img-tag/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/img-tag/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/img-tag/cross-http.no-redirect.http.html
index f17fc3a..d5c7cb2 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/img-tag/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/img-tag/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/img-tag/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/img-tag/cross-http.swap-origin.http.html
index 4c8d0e3..c98ef61 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/img-tag/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/img-tag/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/img-tag/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/img-tag/cross-https.keep-origin.http.html
index fced53d..a95d09c88 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/img-tag/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/img-tag/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/img-tag/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/img-tag/cross-https.no-redirect.http.html
index b22aea4..587c5ba 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/img-tag/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/img-tag/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/img-tag/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/img-tag/cross-https.swap-origin.http.html
index 644c8433..274764f 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/img-tag/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/img-tag/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/img-tag/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/img-tag/same-http.keep-origin.http.html
index 94a08ebb..70c02b2 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/img-tag/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/img-tag/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/img-tag/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/img-tag/same-http.no-redirect.http.html
index 66f91396..427458a2 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/img-tag/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/img-tag/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/img-tag/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/img-tag/same-http.swap-origin.http.html
index b7fa7c7..8028f64 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/img-tag/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/img-tag/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/img-tag/same-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/img-tag/same-https.keep-origin.http.html
index e5b3249..d408826 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/img-tag/same-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/img-tag/same-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/img-tag/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/img-tag/same-https.no-redirect.http.html
index 700e6ca..b19cd0e 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/img-tag/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/img-tag/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/img-tag/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/img-tag/same-https.swap-origin.http.html
index 287f724..bf9c77a 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/img-tag/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/img-tag/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/script-tag/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/script-tag/cross-http.keep-origin.http.html
index 265dfdb..e92926b 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/script-tag/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/script-tag/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/script-tag/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/script-tag/cross-http.no-redirect.http.html
index 60a610c..74d7ac5 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/script-tag/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/script-tag/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/script-tag/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/script-tag/cross-http.swap-origin.http.html
index 249a08c..4bcaf120 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/script-tag/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/script-tag/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/script-tag/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/script-tag/cross-https.keep-origin.http.html
index fea15e88..50c9cf5 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/script-tag/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/script-tag/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/script-tag/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/script-tag/cross-https.no-redirect.http.html
index a0197fa..db50dc6 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/script-tag/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/script-tag/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/script-tag/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/script-tag/cross-https.swap-origin.http.html
index 53bd0cc76..7cfeb5c 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/script-tag/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/script-tag/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/script-tag/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/script-tag/same-http.keep-origin.http.html
index be4c3665..b549702 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/script-tag/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/script-tag/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/script-tag/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/script-tag/same-http.no-redirect.http.html
index 50e95a7..c0c2fc2 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/script-tag/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/script-tag/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/script-tag/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/script-tag/same-http.swap-origin.http.html
index 10d30d1f..dba717bf 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/script-tag/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/script-tag/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/script-tag/same-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/script-tag/same-https.keep-origin.http.html
index d4c1c0c..c9e870798 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/script-tag/same-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/script-tag/same-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/script-tag/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/script-tag/same-https.no-redirect.http.html
index 0b9510c..f6bce1c7 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/script-tag/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/script-tag/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/script-tag/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/script-tag/same-https.swap-origin.http.html
index 59aa240e..ef2ae0c 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/script-tag/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/script-tag/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/sharedworker-classic/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/sharedworker-classic/same-http.keep-origin.http.html
index 73781b6..28729ca9 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/sharedworker-classic/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/sharedworker-classic/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/sharedworker-classic/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/sharedworker-classic/same-http.no-redirect.http.html
index 2f5d857..be5637f 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/sharedworker-classic/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/sharedworker-classic/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/worker-classic/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/worker-classic/same-http.keep-origin.http.html
index 610a8f4..a7b5b013 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/worker-classic/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/worker-classic/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/worker-classic/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/worker-classic/same-http.no-redirect.http.html
index 1ab66a5..695db86 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/worker-classic/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/worker-classic/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/worker-module/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/worker-module/same-http.keep-origin.http.html
index b3f8bff..406ac90 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/worker-module/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/worker-module/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/worker-module/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/worker-module/same-http.no-redirect.http.html
index abf8e77..b88f339 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/worker-module/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/worker-module/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/xhr/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/xhr/cross-http.keep-origin.http.html
index ad937bc..e40bd4e 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/xhr/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/xhr/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/xhr/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/xhr/cross-http.no-redirect.http.html
index 8c6721e..c49c3dc 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/xhr/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/xhr/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/xhr/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/xhr/cross-http.swap-origin.http.html
index e8564ee..2b7fb9f 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/xhr/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/xhr/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/xhr/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/xhr/cross-https.keep-origin.http.html
index b3b580d9..8f72f1c 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/xhr/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/xhr/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/xhr/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/xhr/cross-https.no-redirect.http.html
index 53ef86a..ffe3605 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/xhr/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/xhr/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/xhr/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/xhr/cross-https.swap-origin.http.html
index d206f41..b5d59d5 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/xhr/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/xhr/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/xhr/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/xhr/same-http.keep-origin.http.html
index 38d1011..08ebb4a 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/xhr/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/xhr/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/xhr/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/xhr/same-http.no-redirect.http.html
index 39870f7..e7871b2 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/xhr/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/xhr/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/xhr/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/xhr/same-http.swap-origin.http.html
index 4d7c63b..ce15f91 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/xhr/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/xhr/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/xhr/same-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/xhr/same-https.keep-origin.http.html
index f6402c40..99f3a50 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/xhr/same-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/xhr/same-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/xhr/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/xhr/same-https.no-redirect.http.html
index d4171cd..7ec6779 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/xhr/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/xhr/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/xhr/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/xhr/same-https.swap-origin.http.html
index 4503188..5aab485 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/xhr/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/strict-origin/xhr/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/a-tag/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/a-tag/cross-http.no-redirect.http.html
index 5c816eb..8bd36a5a 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/a-tag/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/a-tag/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/a-tag/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/a-tag/cross-https.no-redirect.http.html
index 96d4eab..9950fc2 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/a-tag/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/a-tag/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/a-tag/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/a-tag/same-http.no-redirect.http.html
index 37f1259..ab02dc0 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/a-tag/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/a-tag/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/a-tag/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/a-tag/same-https.no-redirect.http.html
index 71313a6..dd05577 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/a-tag/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/a-tag/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/fetch/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/fetch/cross-http.keep-origin.http.html
index 83475de..ff238394 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/fetch/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/fetch/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/fetch/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/fetch/cross-http.no-redirect.http.html
index 4bd1b37..e42c5761e 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/fetch/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/fetch/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/fetch/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/fetch/cross-http.swap-origin.http.html
index 832acef5..126f54c 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/fetch/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/fetch/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/fetch/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/fetch/cross-https.keep-origin.http.html
index c1a9a94..c09c473 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/fetch/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/fetch/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/fetch/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/fetch/cross-https.no-redirect.http.html
index f77455b..f7a88fb 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/fetch/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/fetch/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/fetch/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/fetch/cross-https.swap-origin.http.html
index d1060c6..4dc3dcd 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/fetch/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/fetch/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/fetch/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/fetch/same-http.keep-origin.http.html
index e29af406..950e6e2 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/fetch/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/fetch/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/fetch/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/fetch/same-http.no-redirect.http.html
index bcb14d59..48ea741 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/fetch/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/fetch/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/fetch/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/fetch/same-http.swap-origin.http.html
index b7b24f5c..67cdcec 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/fetch/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/fetch/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/fetch/same-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/fetch/same-https.keep-origin.http.html
index 81493ee..d909cf5 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/fetch/same-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/fetch/same-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/fetch/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/fetch/same-https.no-redirect.http.html
index 6a29be4..ffec6a0 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/fetch/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/fetch/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/fetch/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/fetch/same-https.swap-origin.http.html
index 87c56c6..66b00d6 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/fetch/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/fetch/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/iframe-tag/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/iframe-tag/cross-http.keep-origin.http.html
index ccff3d5..71149ca 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/iframe-tag/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/iframe-tag/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/iframe-tag/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/iframe-tag/cross-http.no-redirect.http.html
index 5c34320..1ec1722 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/iframe-tag/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/iframe-tag/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/iframe-tag/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/iframe-tag/cross-http.swap-origin.http.html
index be3ad959..3df617b 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/iframe-tag/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/iframe-tag/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/iframe-tag/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/iframe-tag/cross-https.keep-origin.http.html
index 4b15fa4..dc64413 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/iframe-tag/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/iframe-tag/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/iframe-tag/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/iframe-tag/cross-https.no-redirect.http.html
index e385c68..79b69cb 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/iframe-tag/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/iframe-tag/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/iframe-tag/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/iframe-tag/cross-https.swap-origin.http.html
index 2d1b833..4b465a4 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/iframe-tag/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/iframe-tag/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/iframe-tag/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/iframe-tag/same-http.keep-origin.http.html
index 1b0b5df..ed1e4d41 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/iframe-tag/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/iframe-tag/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/iframe-tag/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/iframe-tag/same-http.no-redirect.http.html
index 2359faf8..bb56942 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/iframe-tag/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/iframe-tag/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/iframe-tag/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/iframe-tag/same-http.swap-origin.http.html
index 628bf7c..f87100f 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/iframe-tag/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/iframe-tag/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/iframe-tag/same-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/iframe-tag/same-https.keep-origin.http.html
index ff53d09..20414562 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/iframe-tag/same-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/iframe-tag/same-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/iframe-tag/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/iframe-tag/same-https.no-redirect.http.html
index 4e5d310..0edb5bc 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/iframe-tag/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/iframe-tag/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/iframe-tag/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/iframe-tag/same-https.swap-origin.http.html
index 8a2aaf9a..91528cb3 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/iframe-tag/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/iframe-tag/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/img-tag/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/img-tag/cross-http.keep-origin.http.html
index 13d00be7..02d8620 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/img-tag/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/img-tag/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/img-tag/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/img-tag/cross-http.no-redirect.http.html
index b391ba0..2c3b70e 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/img-tag/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/img-tag/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/img-tag/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/img-tag/cross-http.swap-origin.http.html
index f0a3a42..d9c3e50 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/img-tag/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/img-tag/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/img-tag/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/img-tag/cross-https.keep-origin.http.html
index 897a84e2..d5cc8bd 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/img-tag/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/img-tag/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/img-tag/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/img-tag/cross-https.no-redirect.http.html
index 99cad1b..4fd10e89 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/img-tag/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/img-tag/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/img-tag/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/img-tag/cross-https.swap-origin.http.html
index 42c2f22..76df80d 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/img-tag/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/img-tag/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/img-tag/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/img-tag/same-http.keep-origin.http.html
index 75cb2d16..af4a533 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/img-tag/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/img-tag/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/img-tag/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/img-tag/same-http.no-redirect.http.html
index 8b37e8f..eaccd60 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/img-tag/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/img-tag/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/img-tag/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/img-tag/same-http.swap-origin.http.html
index f8e6582b..13963b2 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/img-tag/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/img-tag/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/img-tag/same-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/img-tag/same-https.keep-origin.http.html
index 77b58ce..e35988d 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/img-tag/same-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/img-tag/same-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/img-tag/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/img-tag/same-https.no-redirect.http.html
index 963f8a3..9817f03 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/img-tag/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/img-tag/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/img-tag/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/img-tag/same-https.swap-origin.http.html
index 920b578c..3a1d7e35 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/img-tag/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/img-tag/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/script-tag/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/script-tag/cross-http.keep-origin.http.html
index 26629a2..e397cf3 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/script-tag/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/script-tag/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/script-tag/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/script-tag/cross-http.no-redirect.http.html
index 98da011..8b2ace5 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/script-tag/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/script-tag/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/script-tag/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/script-tag/cross-http.swap-origin.http.html
index 141f7f55..5dfcc70 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/script-tag/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/script-tag/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/script-tag/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/script-tag/cross-https.keep-origin.http.html
index b3cd933..7b2e0b6 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/script-tag/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/script-tag/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/script-tag/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/script-tag/cross-https.no-redirect.http.html
index 09f9c7e..9a235e6 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/script-tag/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/script-tag/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/script-tag/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/script-tag/cross-https.swap-origin.http.html
index 4cc455c..5ab8985 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/script-tag/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/script-tag/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/script-tag/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/script-tag/same-http.keep-origin.http.html
index 60519bc6..73b8c92 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/script-tag/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/script-tag/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/script-tag/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/script-tag/same-http.no-redirect.http.html
index b1a2dde0e..3c0ae426 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/script-tag/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/script-tag/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/script-tag/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/script-tag/same-http.swap-origin.http.html
index cc741df..68142ef 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/script-tag/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/script-tag/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/script-tag/same-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/script-tag/same-https.keep-origin.http.html
index 0b825b1..c940481 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/script-tag/same-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/script-tag/same-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/script-tag/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/script-tag/same-https.no-redirect.http.html
index 36a19e73..cfdbf2c 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/script-tag/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/script-tag/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/script-tag/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/script-tag/same-https.swap-origin.http.html
index 1801398..2ac4853 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/script-tag/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/script-tag/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/sharedworker-classic/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/sharedworker-classic/same-http.keep-origin.http.html
index 214d4f5..49d26e6 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/sharedworker-classic/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/sharedworker-classic/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/sharedworker-classic/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/sharedworker-classic/same-http.no-redirect.http.html
index 2d86ea8..5c0f3f2 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/sharedworker-classic/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/sharedworker-classic/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/worker-classic/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/worker-classic/same-http.keep-origin.http.html
index 16d0292..f9ae965 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/worker-classic/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/worker-classic/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/worker-classic/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/worker-classic/same-http.no-redirect.http.html
index 6b740f11..09fd2f1 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/worker-classic/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/worker-classic/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/worker-module/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/worker-module/same-http.keep-origin.http.html
index 0dbd2c92..62948a2 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/worker-module/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/worker-module/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/worker-module/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/worker-module/same-http.no-redirect.http.html
index 9de4cbc6..67b277986 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/worker-module/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/worker-module/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/xhr/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/xhr/cross-http.keep-origin.http.html
index 603a9aa..f7460790 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/xhr/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/xhr/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/xhr/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/xhr/cross-http.no-redirect.http.html
index fc55fed..2808017 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/xhr/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/xhr/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/xhr/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/xhr/cross-http.swap-origin.http.html
index 412e37f1..cdd0e6d 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/xhr/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/xhr/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/xhr/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/xhr/cross-https.keep-origin.http.html
index dbd033f..d931133b 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/xhr/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/xhr/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/xhr/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/xhr/cross-https.no-redirect.http.html
index e69f76ea..e1d294a 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/xhr/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/xhr/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/xhr/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/xhr/cross-https.swap-origin.http.html
index 36348b4..81b2c34 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/xhr/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/xhr/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/xhr/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/xhr/same-http.keep-origin.http.html
index bab18f6..7f64858 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/xhr/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/xhr/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/xhr/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/xhr/same-http.no-redirect.http.html
index ad9fa9f..4bcbc0d 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/xhr/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/xhr/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/xhr/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/xhr/same-http.swap-origin.http.html
index 1be3fa02..895ca00 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/xhr/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/xhr/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/xhr/same-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/xhr/same-https.keep-origin.http.html
index 6e367a2..a12c1c9e 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/xhr/same-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/xhr/same-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/xhr/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/xhr/same-https.no-redirect.http.html
index 0bd6a16..eb85824 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/xhr/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/xhr/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/xhr/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/xhr/same-https.swap-origin.http.html
index 3aa3f88..0edf4ff 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/xhr/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unsafe-url/xhr/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/a-tag/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/a-tag/cross-http.no-redirect.http.html
index 7b76180..911f16d 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/a-tag/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/a-tag/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/a-tag/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/a-tag/cross-https.no-redirect.http.html
index ead7efc..9d8064ff 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/a-tag/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/a-tag/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/a-tag/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/a-tag/same-http.no-redirect.http.html
index 0350e03..cdaf18c 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/a-tag/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/a-tag/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/a-tag/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/a-tag/same-https.no-redirect.http.html
index be8155a..9a6c2b4 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/a-tag/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/a-tag/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/fetch/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/fetch/cross-http.keep-origin.http.html
index d6dbf7c..7fa2a77d 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/fetch/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/fetch/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/fetch/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/fetch/cross-http.no-redirect.http.html
index d6b7b1d..bbf1496 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/fetch/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/fetch/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/fetch/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/fetch/cross-http.swap-origin.http.html
index 228bac96..989c793 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/fetch/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/fetch/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/fetch/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/fetch/cross-https.keep-origin.http.html
index 23a5dc696..7a596e7 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/fetch/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/fetch/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/fetch/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/fetch/cross-https.no-redirect.http.html
index 2b950c4..bba5c2a 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/fetch/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/fetch/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/fetch/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/fetch/cross-https.swap-origin.http.html
index 68d8ddd..867e640 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/fetch/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/fetch/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/fetch/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/fetch/same-http.keep-origin.http.html
index 68a2919..5e004ab 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/fetch/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/fetch/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/fetch/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/fetch/same-http.no-redirect.http.html
index 9786e11..9417602 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/fetch/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/fetch/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/fetch/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/fetch/same-http.swap-origin.http.html
index aeb97a1..82b9de5 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/fetch/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/fetch/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/fetch/same-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/fetch/same-https.keep-origin.http.html
index 27bf0fb3..20be1f2 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/fetch/same-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/fetch/same-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/fetch/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/fetch/same-https.no-redirect.http.html
index f2de2eea..244623b 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/fetch/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/fetch/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/fetch/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/fetch/same-https.swap-origin.http.html
index 2f059b4..fbcccb8 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/fetch/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/fetch/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/iframe-tag/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/iframe-tag/cross-http.keep-origin.http.html
index 51b796f..d2ea91e 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/iframe-tag/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/iframe-tag/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/iframe-tag/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/iframe-tag/cross-http.no-redirect.http.html
index ae910ab..1ce5e11 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/iframe-tag/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/iframe-tag/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/iframe-tag/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/iframe-tag/cross-http.swap-origin.http.html
index 6b96a09..afdfbaa 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/iframe-tag/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/iframe-tag/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/iframe-tag/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/iframe-tag/cross-https.keep-origin.http.html
index 89eb976..76040ac 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/iframe-tag/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/iframe-tag/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/iframe-tag/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/iframe-tag/cross-https.no-redirect.http.html
index d099040..0f31d22 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/iframe-tag/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/iframe-tag/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/iframe-tag/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/iframe-tag/cross-https.swap-origin.http.html
index 0266354..41626c4 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/iframe-tag/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/iframe-tag/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/iframe-tag/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/iframe-tag/same-http.keep-origin.http.html
index a88a072..a0252bb 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/iframe-tag/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/iframe-tag/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/iframe-tag/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/iframe-tag/same-http.no-redirect.http.html
index 04cc2e35..1c119381 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/iframe-tag/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/iframe-tag/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/iframe-tag/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/iframe-tag/same-http.swap-origin.http.html
index c877963c..764ffe5 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/iframe-tag/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/iframe-tag/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/iframe-tag/same-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/iframe-tag/same-https.keep-origin.http.html
index 5a1af89..5cc8685d 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/iframe-tag/same-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/iframe-tag/same-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/iframe-tag/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/iframe-tag/same-https.no-redirect.http.html
index 4c9fb03..4743875 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/iframe-tag/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/iframe-tag/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/iframe-tag/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/iframe-tag/same-https.swap-origin.http.html
index d9ab586..ca673fd 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/iframe-tag/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/iframe-tag/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/img-tag/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/img-tag/cross-http.keep-origin.http.html
index 9631d81..b9ee419 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/img-tag/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/img-tag/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/img-tag/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/img-tag/cross-http.no-redirect.http.html
index 6e03cda..95e968cd 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/img-tag/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/img-tag/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/img-tag/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/img-tag/cross-http.swap-origin.http.html
index f3ccb1f5..8eac9af5 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/img-tag/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/img-tag/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/img-tag/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/img-tag/cross-https.keep-origin.http.html
index 27266df..6483c72 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/img-tag/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/img-tag/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/img-tag/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/img-tag/cross-https.no-redirect.http.html
index 72992868..3f32c6b 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/img-tag/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/img-tag/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/img-tag/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/img-tag/cross-https.swap-origin.http.html
index 53ae37b..1dfd817 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/img-tag/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/img-tag/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/img-tag/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/img-tag/same-http.keep-origin.http.html
index bb0fc80..4c6a93c 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/img-tag/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/img-tag/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/img-tag/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/img-tag/same-http.no-redirect.http.html
index 6d4ed57..c0411dc 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/img-tag/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/img-tag/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/img-tag/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/img-tag/same-http.swap-origin.http.html
index 719a6354..d67e02b 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/img-tag/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/img-tag/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/img-tag/same-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/img-tag/same-https.keep-origin.http.html
index c39fdd14..6e90c0f 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/img-tag/same-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/img-tag/same-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/img-tag/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/img-tag/same-https.no-redirect.http.html
index d594f8b..9f91b248 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/img-tag/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/img-tag/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/img-tag/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/img-tag/same-https.swap-origin.http.html
index 2fbe12f..138f335 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/img-tag/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/img-tag/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/script-tag/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/script-tag/cross-http.keep-origin.http.html
index 2a587ca..78ece0b 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/script-tag/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/script-tag/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/script-tag/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/script-tag/cross-http.no-redirect.http.html
index d0be10f..7a5879d9 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/script-tag/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/script-tag/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/script-tag/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/script-tag/cross-http.swap-origin.http.html
index 85414f14d..9d33818 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/script-tag/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/script-tag/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/script-tag/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/script-tag/cross-https.keep-origin.http.html
index ec3dcde..55e030b 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/script-tag/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/script-tag/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/script-tag/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/script-tag/cross-https.no-redirect.http.html
index 196770f..3827e7a 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/script-tag/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/script-tag/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/script-tag/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/script-tag/cross-https.swap-origin.http.html
index 151d876..f767e02 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/script-tag/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/script-tag/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/script-tag/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/script-tag/same-http.keep-origin.http.html
index c186fa1..0c2128b 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/script-tag/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/script-tag/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/script-tag/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/script-tag/same-http.no-redirect.http.html
index d0c49af..56ba08f 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/script-tag/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/script-tag/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/script-tag/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/script-tag/same-http.swap-origin.http.html
index 594be914..8d2bb23f 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/script-tag/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/script-tag/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/script-tag/same-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/script-tag/same-https.keep-origin.http.html
index f0acef6c..b6ac13a20 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/script-tag/same-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/script-tag/same-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/script-tag/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/script-tag/same-https.no-redirect.http.html
index 569f8c1d..9f2e599 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/script-tag/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/script-tag/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/script-tag/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/script-tag/same-https.swap-origin.http.html
index c027bcd8..8b940c9 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/script-tag/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/script-tag/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/sharedworker-classic/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/sharedworker-classic/same-http.keep-origin.http.html
index 6e6160a..1f4d8c2 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/sharedworker-classic/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/sharedworker-classic/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/sharedworker-classic/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/sharedworker-classic/same-http.no-redirect.http.html
index 03b0a5e..8cfd6e3 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/sharedworker-classic/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/sharedworker-classic/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/worker-classic/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/worker-classic/same-http.keep-origin.http.html
index 9c1caa9..6fc428e 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/worker-classic/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/worker-classic/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/worker-classic/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/worker-classic/same-http.no-redirect.http.html
index 954ed8f..1609876 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/worker-classic/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/worker-classic/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/worker-module/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/worker-module/same-http.keep-origin.http.html
index dd8d5e58..f1e900f 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/worker-module/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/worker-module/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/worker-module/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/worker-module/same-http.no-redirect.http.html
index 282912b7..ba6fe6d 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/worker-module/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/worker-module/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/xhr/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/xhr/cross-http.keep-origin.http.html
index 7119289..4b2c486 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/xhr/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/xhr/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/xhr/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/xhr/cross-http.no-redirect.http.html
index 6003330..9a70525 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/xhr/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/xhr/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/xhr/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/xhr/cross-http.swap-origin.http.html
index be62704..affed78 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/xhr/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/xhr/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/xhr/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/xhr/cross-https.keep-origin.http.html
index 7d413166..70893f7 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/xhr/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/xhr/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/xhr/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/xhr/cross-https.no-redirect.http.html
index 84e65d3..b51c293a 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/xhr/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/xhr/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/xhr/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/xhr/cross-https.swap-origin.http.html
index 1b7e54f..242a50c 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/xhr/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/xhr/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/xhr/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/xhr/same-http.keep-origin.http.html
index 9f3d16e..e48d578 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/xhr/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/xhr/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/xhr/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/xhr/same-http.no-redirect.http.html
index 40cd238d..2a116be0 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/xhr/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/xhr/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/xhr/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/xhr/same-http.swap-origin.http.html
index a912773..6dbf270 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/xhr/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/xhr/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/xhr/same-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/xhr/same-https.keep-origin.http.html
index b0eda99..840f039 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/xhr/same-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/xhr/same-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/xhr/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/xhr/same-https.no-redirect.http.html
index ecfc6a5..8a66808c 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/xhr/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/xhr/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/xhr/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/xhr/same-https.swap-origin.http.html
index c166e90..957da89 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/xhr/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.http-rp/unset/xhr/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/a-tag/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/a-tag/cross-http.no-redirect.http.html
index 825868a..d95d029c 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/a-tag/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/a-tag/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/a-tag/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/a-tag/cross-https.no-redirect.http.html
index 9a6f5e9..f62a07b 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/a-tag/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/a-tag/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/a-tag/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/a-tag/same-http.no-redirect.http.html
index 476831f..f0d9894 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/a-tag/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/a-tag/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/a-tag/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/a-tag/same-https.no-redirect.http.html
index b1a8565..883b645 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/a-tag/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/a-tag/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/fetch/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/fetch/cross-http.keep-origin.http.html
index 9cac2ec..8561f58 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/fetch/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/fetch/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/fetch/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/fetch/cross-http.no-redirect.http.html
index 1ceb25c3..fb453f91 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/fetch/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/fetch/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/fetch/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/fetch/cross-http.swap-origin.http.html
index 5865d6b..850adf2 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/fetch/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/fetch/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/fetch/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/fetch/cross-https.keep-origin.http.html
index 9fd2445..bc8a5d8c 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/fetch/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/fetch/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/fetch/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/fetch/cross-https.no-redirect.http.html
index e88bd91..4affb59 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/fetch/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/fetch/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/fetch/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/fetch/cross-https.swap-origin.http.html
index 209fa3c48..9b61017 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/fetch/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/fetch/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/fetch/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/fetch/same-http.keep-origin.http.html
index 6672b1e..733c5a5 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/fetch/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/fetch/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/fetch/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/fetch/same-http.no-redirect.http.html
index ec17b1f..4e95f1b 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/fetch/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/fetch/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/fetch/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/fetch/same-http.swap-origin.http.html
index 040a9ec..c24c8e2 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/fetch/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/fetch/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/fetch/same-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/fetch/same-https.keep-origin.http.html
index aead299..23c0325 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/fetch/same-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/fetch/same-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/fetch/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/fetch/same-https.no-redirect.http.html
index 320ee1d1..ced06c88 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/fetch/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/fetch/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/fetch/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/fetch/same-https.swap-origin.http.html
index c3fe916..7dfaa11 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/fetch/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/fetch/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/iframe-tag/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/iframe-tag/cross-http.keep-origin.http.html
index b29d9aa1..c35077e 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/iframe-tag/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/iframe-tag/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/iframe-tag/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/iframe-tag/cross-http.no-redirect.http.html
index 98f3fee..07d3dd8e 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/iframe-tag/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/iframe-tag/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/iframe-tag/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/iframe-tag/cross-http.swap-origin.http.html
index 5bc48e9..60587fa 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/iframe-tag/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/iframe-tag/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/iframe-tag/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/iframe-tag/cross-https.keep-origin.http.html
index d4ff0da..3c1accd 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/iframe-tag/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/iframe-tag/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/iframe-tag/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/iframe-tag/cross-https.no-redirect.http.html
index 204e954..6bcf6528 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/iframe-tag/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/iframe-tag/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/iframe-tag/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/iframe-tag/cross-https.swap-origin.http.html
index 9f7eb31..32a8dbdf 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/iframe-tag/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/iframe-tag/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/iframe-tag/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/iframe-tag/same-http.keep-origin.http.html
index 7e9a21a..4058df8 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/iframe-tag/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/iframe-tag/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/iframe-tag/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/iframe-tag/same-http.no-redirect.http.html
index 97e52fb..71926d87 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/iframe-tag/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/iframe-tag/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/iframe-tag/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/iframe-tag/same-http.swap-origin.http.html
index af0cc430..9da69665 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/iframe-tag/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/iframe-tag/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/iframe-tag/same-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/iframe-tag/same-https.keep-origin.http.html
index 84467bc..db8d0a6 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/iframe-tag/same-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/iframe-tag/same-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/iframe-tag/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/iframe-tag/same-https.no-redirect.http.html
index fe2467f..a2a6024 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/iframe-tag/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/iframe-tag/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/iframe-tag/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/iframe-tag/same-https.swap-origin.http.html
index 0e41145..1c7face 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/iframe-tag/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/iframe-tag/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-http.keep-origin.http.html
index 1c597c6..5420401a 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-http.no-redirect.http.html
index ad9d898..0406d3b 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-http.swap-origin.http.html
index 5309e3f..8e75b5d5 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-https.keep-origin.http.html
index 0d049ac6..3dce0c4e 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-https.no-redirect.http.html
index 1eb934e..36879c3 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-https.swap-origin.http.html
index 3e1e5f9a..0ace07b1 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/img-tag/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/img-tag/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/img-tag/same-http.keep-origin.http.html
index 8ec49cd9..28d2b6d 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/img-tag/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/img-tag/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/img-tag/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/img-tag/same-http.no-redirect.http.html
index 85d6718..00542aaf 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/img-tag/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/img-tag/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/img-tag/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/img-tag/same-http.swap-origin.http.html
index 476b90e4..45696b4 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/img-tag/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/img-tag/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/img-tag/same-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/img-tag/same-https.keep-origin.http.html
index 8199f56..d9e2037 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/img-tag/same-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/img-tag/same-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/img-tag/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/img-tag/same-https.no-redirect.http.html
index d21736b..00cf01e 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/img-tag/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/img-tag/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/img-tag/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/img-tag/same-https.swap-origin.http.html
index 7980103..2ba482a7 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/img-tag/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/img-tag/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/script-tag/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/script-tag/cross-http.keep-origin.http.html
index 10227a8..f0d25f6a 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/script-tag/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/script-tag/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/script-tag/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/script-tag/cross-http.no-redirect.http.html
index eee16a3..03b247dd2 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/script-tag/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/script-tag/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/script-tag/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/script-tag/cross-http.swap-origin.http.html
index 798b35c..730ac91 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/script-tag/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/script-tag/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/script-tag/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/script-tag/cross-https.keep-origin.http.html
index c62baf10..08b59b8 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/script-tag/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/script-tag/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/script-tag/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/script-tag/cross-https.no-redirect.http.html
index 2193ab2..123968f4 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/script-tag/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/script-tag/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/script-tag/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/script-tag/cross-https.swap-origin.http.html
index cfcfef7..63a0c36 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/script-tag/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/script-tag/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/script-tag/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/script-tag/same-http.keep-origin.http.html
index 6ff96f5..c8635e6d 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/script-tag/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/script-tag/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/script-tag/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/script-tag/same-http.no-redirect.http.html
index 287c94b..7f7c1aab 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/script-tag/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/script-tag/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/script-tag/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/script-tag/same-http.swap-origin.http.html
index 5eff119a..0a7ef5b 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/script-tag/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/script-tag/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/script-tag/same-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/script-tag/same-https.keep-origin.http.html
index 0a8d856..7975ebf 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/script-tag/same-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/script-tag/same-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/script-tag/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/script-tag/same-https.no-redirect.http.html
index 4b310dc..e93bf7e 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/script-tag/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/script-tag/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/script-tag/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/script-tag/same-https.swap-origin.http.html
index feb3353..486e6c3 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/script-tag/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/script-tag/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/sharedworker-classic/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/sharedworker-classic/same-http.keep-origin.http.html
index a4943af..4b2de71 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/sharedworker-classic/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/sharedworker-classic/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/sharedworker-classic/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/sharedworker-classic/same-http.no-redirect.http.html
index 8a4f62db..70c909e 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/sharedworker-classic/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/sharedworker-classic/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/worker-classic/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/worker-classic/same-http.keep-origin.http.html
index 451b518..491eb5eb 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/worker-classic/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/worker-classic/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/worker-classic/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/worker-classic/same-http.no-redirect.http.html
index 7c9df1c631..264c2b2 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/worker-classic/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/worker-classic/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/worker-module/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/worker-module/same-http.keep-origin.http.html
index 3cab708..a80db60 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/worker-module/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/worker-module/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/worker-module/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/worker-module/same-http.no-redirect.http.html
index 93fcde0..0a1e567 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/worker-module/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/worker-module/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/xhr/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/xhr/cross-http.keep-origin.http.html
index e555bca..7d472a2 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/xhr/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/xhr/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/xhr/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/xhr/cross-http.no-redirect.http.html
index 776a27f..f276f4cf 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/xhr/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/xhr/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/xhr/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/xhr/cross-http.swap-origin.http.html
index 2a8826b51..a66e37d 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/xhr/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/xhr/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/xhr/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/xhr/cross-https.keep-origin.http.html
index e530e58..485e389d 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/xhr/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/xhr/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/xhr/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/xhr/cross-https.no-redirect.http.html
index 347858d..e6ce17b 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/xhr/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/xhr/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/xhr/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/xhr/cross-https.swap-origin.http.html
index 92d6b4e7..170aee6 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/xhr/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/xhr/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/xhr/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/xhr/same-http.keep-origin.http.html
index 4a4025c..fd06ec7 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/xhr/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/xhr/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/xhr/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/xhr/same-http.no-redirect.http.html
index 6802c97b..f7781f5 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/xhr/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/xhr/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/xhr/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/xhr/same-http.swap-origin.http.html
index eee53b0f..6195157f 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/xhr/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/xhr/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/xhr/same-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/xhr/same-https.keep-origin.http.html
index a3e3a73..f3c72b0 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/xhr/same-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/xhr/same-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/xhr/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/xhr/same-https.no-redirect.http.html
index 5047e9b..4f7cd44 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/xhr/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/xhr/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/xhr/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/xhr/same-https.swap-origin.http.html
index a762218..04f963000 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/xhr/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer-when-downgrade/xhr/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/a-tag/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/a-tag/cross-http.no-redirect.http.html
index bb08e6a..879a92dc 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/a-tag/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/a-tag/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/a-tag/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/a-tag/cross-https.no-redirect.http.html
index e14f676..2c9ad19 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/a-tag/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/a-tag/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/a-tag/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/a-tag/same-http.no-redirect.http.html
index 1a84ef3..ebf1c4f 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/a-tag/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/a-tag/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/a-tag/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/a-tag/same-https.no-redirect.http.html
index 8b032e9..59aef9ae 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/a-tag/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/a-tag/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/fetch/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/fetch/cross-http.keep-origin.http.html
index 7251002..d8a8981 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/fetch/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/fetch/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/fetch/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/fetch/cross-http.no-redirect.http.html
index db3025e..722f1808 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/fetch/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/fetch/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/fetch/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/fetch/cross-http.swap-origin.http.html
index d476f8c..f383b2d5 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/fetch/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/fetch/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/fetch/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/fetch/cross-https.keep-origin.http.html
index ead73b6f..155c6713 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/fetch/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/fetch/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/fetch/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/fetch/cross-https.no-redirect.http.html
index fa8ceff..bbc9416 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/fetch/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/fetch/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/fetch/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/fetch/cross-https.swap-origin.http.html
index 25caf44..265c281 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/fetch/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/fetch/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/fetch/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/fetch/same-http.keep-origin.http.html
index bc7c35b3..4017c03 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/fetch/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/fetch/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/fetch/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/fetch/same-http.no-redirect.http.html
index d5a56542..dad1873 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/fetch/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/fetch/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/fetch/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/fetch/same-http.swap-origin.http.html
index 8a96d66..e74fc622 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/fetch/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/fetch/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/fetch/same-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/fetch/same-https.keep-origin.http.html
index 2b0938e..ce881eb9 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/fetch/same-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/fetch/same-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/fetch/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/fetch/same-https.no-redirect.http.html
index bafbbb5d..fabbbd2 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/fetch/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/fetch/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/fetch/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/fetch/same-https.swap-origin.http.html
index 4456a15..bf43d43 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/fetch/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/fetch/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/iframe-tag/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/iframe-tag/cross-http.keep-origin.http.html
index 5544487..0c7fac41 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/iframe-tag/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/iframe-tag/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/iframe-tag/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/iframe-tag/cross-http.no-redirect.http.html
index 98e8ca5d..f8b81d6 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/iframe-tag/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/iframe-tag/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/iframe-tag/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/iframe-tag/cross-http.swap-origin.http.html
index d9c9bdb7..9d74cdb 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/iframe-tag/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/iframe-tag/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/iframe-tag/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/iframe-tag/cross-https.keep-origin.http.html
index 5cb0c895..56ff426 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/iframe-tag/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/iframe-tag/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/iframe-tag/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/iframe-tag/cross-https.no-redirect.http.html
index 0a135da..ef8c1976 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/iframe-tag/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/iframe-tag/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/iframe-tag/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/iframe-tag/cross-https.swap-origin.http.html
index c03ea87..4784081 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/iframe-tag/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/iframe-tag/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/iframe-tag/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/iframe-tag/same-http.keep-origin.http.html
index de7deba..5401aaf7 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/iframe-tag/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/iframe-tag/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/iframe-tag/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/iframe-tag/same-http.no-redirect.http.html
index a84fdb7..e6f0b5d 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/iframe-tag/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/iframe-tag/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/iframe-tag/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/iframe-tag/same-http.swap-origin.http.html
index 3c55c5fc..40764e45 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/iframe-tag/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/iframe-tag/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/iframe-tag/same-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/iframe-tag/same-https.keep-origin.http.html
index 3d1f9ff9..c100310 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/iframe-tag/same-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/iframe-tag/same-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/iframe-tag/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/iframe-tag/same-https.no-redirect.http.html
index aed5c18..f563a46 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/iframe-tag/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/iframe-tag/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/iframe-tag/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/iframe-tag/same-https.swap-origin.http.html
index 73ec3c4..ae9ca52 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/iframe-tag/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/iframe-tag/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/img-tag/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/img-tag/cross-http.keep-origin.http.html
index bb546ba8..9d1ea9f8 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/img-tag/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/img-tag/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/img-tag/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/img-tag/cross-http.no-redirect.http.html
index 3cbfb0bf..dbe5de6 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/img-tag/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/img-tag/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/img-tag/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/img-tag/cross-http.swap-origin.http.html
index ce09cb1..cd2e842 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/img-tag/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/img-tag/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/img-tag/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/img-tag/cross-https.keep-origin.http.html
index ece42cf9..0d514cd 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/img-tag/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/img-tag/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/img-tag/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/img-tag/cross-https.no-redirect.http.html
index 5b9cd9fd..b38c93f 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/img-tag/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/img-tag/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/img-tag/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/img-tag/cross-https.swap-origin.http.html
index 6bad60e..0e2f607 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/img-tag/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/img-tag/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/img-tag/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/img-tag/same-http.keep-origin.http.html
index 1d65c6c4..1dca89af 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/img-tag/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/img-tag/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/img-tag/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/img-tag/same-http.no-redirect.http.html
index 9676d02b..0ecfe9e 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/img-tag/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/img-tag/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/img-tag/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/img-tag/same-http.swap-origin.http.html
index 3e1d17b..333a899 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/img-tag/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/img-tag/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/img-tag/same-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/img-tag/same-https.keep-origin.http.html
index e746335..790cd4e 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/img-tag/same-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/img-tag/same-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/img-tag/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/img-tag/same-https.no-redirect.http.html
index b5355cd..9292db1 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/img-tag/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/img-tag/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/img-tag/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/img-tag/same-https.swap-origin.http.html
index 54ebd18..f5ec182 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/img-tag/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/img-tag/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/script-tag/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/script-tag/cross-http.keep-origin.http.html
index ebd1749..b840e4f 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/script-tag/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/script-tag/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/script-tag/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/script-tag/cross-http.no-redirect.http.html
index 2856881..534e529 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/script-tag/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/script-tag/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/script-tag/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/script-tag/cross-http.swap-origin.http.html
index d19393d..b8d2afe7 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/script-tag/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/script-tag/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/script-tag/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/script-tag/cross-https.keep-origin.http.html
index c5c5e968..b64bf9e 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/script-tag/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/script-tag/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/script-tag/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/script-tag/cross-https.no-redirect.http.html
index bfccf50..365b631 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/script-tag/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/script-tag/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/script-tag/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/script-tag/cross-https.swap-origin.http.html
index c99eb3d0..5b3e1d3 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/script-tag/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/script-tag/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/script-tag/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/script-tag/same-http.keep-origin.http.html
index e5304ba9..ee4673b 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/script-tag/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/script-tag/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/script-tag/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/script-tag/same-http.no-redirect.http.html
index bf77913..08b97cd 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/script-tag/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/script-tag/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/script-tag/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/script-tag/same-http.swap-origin.http.html
index 32cbdb3..3cd2ab6 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/script-tag/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/script-tag/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/script-tag/same-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/script-tag/same-https.keep-origin.http.html
index 10fc4f1b..1d9955b8 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/script-tag/same-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/script-tag/same-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/script-tag/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/script-tag/same-https.no-redirect.http.html
index f8c5e8f..bacb5c2 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/script-tag/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/script-tag/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/script-tag/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/script-tag/same-https.swap-origin.http.html
index dd01151..c8500034 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/script-tag/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/script-tag/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/sharedworker-classic/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/sharedworker-classic/same-http.keep-origin.http.html
index 98e4d99..2a75be4 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/sharedworker-classic/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/sharedworker-classic/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/sharedworker-classic/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/sharedworker-classic/same-http.no-redirect.http.html
index afb40f0..55d41d7 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/sharedworker-classic/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/sharedworker-classic/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/worker-classic/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/worker-classic/same-http.keep-origin.http.html
index a80ea70..0160add3 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/worker-classic/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/worker-classic/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/worker-classic/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/worker-classic/same-http.no-redirect.http.html
index ab66250..54e517e 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/worker-classic/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/worker-classic/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/worker-module/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/worker-module/same-http.keep-origin.http.html
index 771d1d9..41447ff2 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/worker-module/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/worker-module/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/worker-module/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/worker-module/same-http.no-redirect.http.html
index f0392f3c..288fdb4 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/worker-module/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/worker-module/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/xhr/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/xhr/cross-http.keep-origin.http.html
index e3b3c2a1..682e787 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/xhr/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/xhr/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/xhr/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/xhr/cross-http.no-redirect.http.html
index 149baa1e3..cf072fc 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/xhr/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/xhr/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/xhr/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/xhr/cross-http.swap-origin.http.html
index 7944aad..d75278d 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/xhr/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/xhr/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/xhr/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/xhr/cross-https.keep-origin.http.html
index a34ab7c..616b0f7 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/xhr/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/xhr/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/xhr/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/xhr/cross-https.no-redirect.http.html
index cafd514..d710b2e 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/xhr/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/xhr/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/xhr/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/xhr/cross-https.swap-origin.http.html
index 48b1c0a..8b97884 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/xhr/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/xhr/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/xhr/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/xhr/same-http.keep-origin.http.html
index dbb9e89..d8eb56a 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/xhr/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/xhr/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/xhr/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/xhr/same-http.no-redirect.http.html
index d6c4e1a..875ddb2 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/xhr/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/xhr/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/xhr/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/xhr/same-http.swap-origin.http.html
index 71d5f84..54983bd 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/xhr/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/xhr/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/xhr/same-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/xhr/same-https.keep-origin.http.html
index 9142e28d..9f312f52 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/xhr/same-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/xhr/same-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/xhr/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/xhr/same-https.no-redirect.http.html
index 3574fe1..62dcd07 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/xhr/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/xhr/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/xhr/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/xhr/same-https.swap-origin.http.html
index b43d26f..bda85aa1 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/xhr/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/no-referrer/xhr/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/a-tag/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/a-tag/cross-http.no-redirect.http.html
index 2f9bf49..cb2416d 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/a-tag/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/a-tag/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/a-tag/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/a-tag/cross-https.no-redirect.http.html
index b4f6755..bb2705d 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/a-tag/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/a-tag/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/a-tag/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/a-tag/same-http.no-redirect.http.html
index 91716ed5..e239f51 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/a-tag/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/a-tag/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/a-tag/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/a-tag/same-https.no-redirect.http.html
index 13962b2..66aca52e 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/a-tag/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/a-tag/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/fetch/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/fetch/cross-http.keep-origin.http.html
index 81fa0738..cbc8344 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/fetch/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/fetch/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/fetch/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/fetch/cross-http.no-redirect.http.html
index 8a97a1b..70a085d 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/fetch/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/fetch/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/fetch/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/fetch/cross-http.swap-origin.http.html
index 51e3175..a6d82874 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/fetch/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/fetch/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/fetch/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/fetch/cross-https.keep-origin.http.html
index eca4235..c5be922 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/fetch/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/fetch/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/fetch/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/fetch/cross-https.no-redirect.http.html
index 15a7bec..7f91dca 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/fetch/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/fetch/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/fetch/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/fetch/cross-https.swap-origin.http.html
index 4f30a0f..0cac5d1 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/fetch/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/fetch/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/fetch/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/fetch/same-http.keep-origin.http.html
index cdfc2f0..fb5d4055 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/fetch/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/fetch/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/fetch/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/fetch/same-http.no-redirect.http.html
index 265e2b3..5551a46c 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/fetch/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/fetch/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/fetch/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/fetch/same-http.swap-origin.http.html
index 71ad1ec..420cbf2 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/fetch/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/fetch/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/fetch/same-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/fetch/same-https.keep-origin.http.html
index f3df4bc..1938e644 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/fetch/same-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/fetch/same-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/fetch/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/fetch/same-https.no-redirect.http.html
index f66c9a3a..959079f 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/fetch/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/fetch/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/fetch/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/fetch/same-https.swap-origin.http.html
index 9d713465..b348511 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/fetch/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/fetch/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/iframe-tag/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/iframe-tag/cross-http.keep-origin.http.html
index 1c6da90..b8a4557 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/iframe-tag/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/iframe-tag/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/iframe-tag/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/iframe-tag/cross-http.no-redirect.http.html
index ddfc94a..585a6ad0 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/iframe-tag/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/iframe-tag/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/iframe-tag/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/iframe-tag/cross-http.swap-origin.http.html
index 2d57b4d..59b25e5 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/iframe-tag/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/iframe-tag/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/iframe-tag/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/iframe-tag/cross-https.keep-origin.http.html
index 9840fc2..b11b9b4 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/iframe-tag/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/iframe-tag/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/iframe-tag/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/iframe-tag/cross-https.no-redirect.http.html
index bc4520dc..f472621 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/iframe-tag/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/iframe-tag/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/iframe-tag/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/iframe-tag/cross-https.swap-origin.http.html
index 7327dde..1ff5e6fa 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/iframe-tag/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/iframe-tag/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/iframe-tag/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/iframe-tag/same-http.keep-origin.http.html
index db00606..f5e8eaf 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/iframe-tag/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/iframe-tag/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/iframe-tag/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/iframe-tag/same-http.no-redirect.http.html
index 36d1ea7..21c4869 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/iframe-tag/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/iframe-tag/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/iframe-tag/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/iframe-tag/same-http.swap-origin.http.html
index adeaf62..4b84859 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/iframe-tag/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/iframe-tag/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/iframe-tag/same-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/iframe-tag/same-https.keep-origin.http.html
index 4e4272e..60fab8a 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/iframe-tag/same-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/iframe-tag/same-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/iframe-tag/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/iframe-tag/same-https.no-redirect.http.html
index 7768a93..82f251ba 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/iframe-tag/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/iframe-tag/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/iframe-tag/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/iframe-tag/same-https.swap-origin.http.html
index ac17b11..bad2a52 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/iframe-tag/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/iframe-tag/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/img-tag/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/img-tag/cross-http.keep-origin.http.html
index d3e69dc..1f856409 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/img-tag/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/img-tag/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/img-tag/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/img-tag/cross-http.no-redirect.http.html
index dc4ddf35..c019032 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/img-tag/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/img-tag/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/img-tag/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/img-tag/cross-http.swap-origin.http.html
index e9fa7073..3bcf5f0 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/img-tag/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/img-tag/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/img-tag/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/img-tag/cross-https.keep-origin.http.html
index b8527ec..9e9f766b 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/img-tag/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/img-tag/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/img-tag/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/img-tag/cross-https.no-redirect.http.html
index 7dd1757..ae795f8 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/img-tag/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/img-tag/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/img-tag/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/img-tag/cross-https.swap-origin.http.html
index 3ebee1a9..d375d18 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/img-tag/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/img-tag/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/img-tag/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/img-tag/same-http.keep-origin.http.html
index 509306d3..c1d6f1a 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/img-tag/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/img-tag/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/img-tag/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/img-tag/same-http.no-redirect.http.html
index 73d37a91..57778a2 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/img-tag/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/img-tag/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/img-tag/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/img-tag/same-http.swap-origin.http.html
index 0e283a2..0513896 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/img-tag/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/img-tag/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/img-tag/same-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/img-tag/same-https.keep-origin.http.html
index 74f4596..a8cd85c 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/img-tag/same-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/img-tag/same-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/img-tag/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/img-tag/same-https.no-redirect.http.html
index c2bcdb5..2de77f8 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/img-tag/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/img-tag/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/img-tag/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/img-tag/same-https.swap-origin.http.html
index 74b653d..a2807ff 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/img-tag/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/img-tag/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/script-tag/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/script-tag/cross-http.keep-origin.http.html
index 8a124ad..3a31579 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/script-tag/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/script-tag/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/script-tag/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/script-tag/cross-http.no-redirect.http.html
index d8e4823..d52d043 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/script-tag/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/script-tag/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/script-tag/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/script-tag/cross-http.swap-origin.http.html
index 3b76a5af..3a59a9f 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/script-tag/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/script-tag/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/script-tag/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/script-tag/cross-https.keep-origin.http.html
index 4a60422..804c94b 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/script-tag/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/script-tag/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/script-tag/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/script-tag/cross-https.no-redirect.http.html
index 9027775..f4b73ba 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/script-tag/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/script-tag/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/script-tag/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/script-tag/cross-https.swap-origin.http.html
index e01f28e..e160381 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/script-tag/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/script-tag/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/script-tag/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/script-tag/same-http.keep-origin.http.html
index 58bd363..2ff3b7b 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/script-tag/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/script-tag/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/script-tag/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/script-tag/same-http.no-redirect.http.html
index a23a7e9..dc2e8b64 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/script-tag/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/script-tag/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/script-tag/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/script-tag/same-http.swap-origin.http.html
index 9fc586f..07f6897 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/script-tag/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/script-tag/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/script-tag/same-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/script-tag/same-https.keep-origin.http.html
index 6b7c3b0d..6e30fb4 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/script-tag/same-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/script-tag/same-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/script-tag/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/script-tag/same-https.no-redirect.http.html
index 4ff8f587..a8e5a94 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/script-tag/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/script-tag/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/script-tag/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/script-tag/same-https.swap-origin.http.html
index 7473fcb..40a8d05 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/script-tag/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/script-tag/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html
index aacb86f..250b246 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html
index 4db19960..bc4f919 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html
index 2283ad9b..42d1905 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html
index c6df2729..94dfe6c 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/worker-module/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/worker-module/same-http.keep-origin.http.html
index 4703eb9e..96139e7 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/worker-module/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/worker-module/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/worker-module/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/worker-module/same-http.no-redirect.http.html
index ebf2823..565a40b 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/worker-module/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/worker-module/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/xhr/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/xhr/cross-http.keep-origin.http.html
index 14990ee5..6c57ebca 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/xhr/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/xhr/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/xhr/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/xhr/cross-http.no-redirect.http.html
index f59130c..d59e005 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/xhr/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/xhr/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/xhr/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/xhr/cross-http.swap-origin.http.html
index 65aa008..0d63e2f 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/xhr/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/xhr/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/xhr/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/xhr/cross-https.keep-origin.http.html
index ad6fc16..e8f19f58 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/xhr/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/xhr/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/xhr/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/xhr/cross-https.no-redirect.http.html
index 152e3eb..eb6b799 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/xhr/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/xhr/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/xhr/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/xhr/cross-https.swap-origin.http.html
index c2976879b8..1779d2e 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/xhr/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/xhr/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/xhr/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/xhr/same-http.keep-origin.http.html
index 0994e0f5..aef8bff 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/xhr/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/xhr/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/xhr/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/xhr/same-http.no-redirect.http.html
index 7dc61a8..8ae5d68f 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/xhr/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/xhr/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/xhr/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/xhr/same-http.swap-origin.http.html
index 4cb23fb..970bbaf 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/xhr/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/xhr/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/xhr/same-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/xhr/same-https.keep-origin.http.html
index 6d0b6c58..23be352 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/xhr/same-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/xhr/same-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/xhr/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/xhr/same-https.no-redirect.http.html
index 8ff03c8a..eb2d8750 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/xhr/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/xhr/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/xhr/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/xhr/same-https.swap-origin.http.html
index b790cb1..41739cb 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/xhr/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin-when-cross-origin/xhr/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/a-tag/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/a-tag/cross-http.no-redirect.http.html
index 9277c289..dbbd37f 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/a-tag/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/a-tag/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/a-tag/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/a-tag/cross-https.no-redirect.http.html
index 1dbb1fc5..7ccc0a0 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/a-tag/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/a-tag/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/a-tag/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/a-tag/same-http.no-redirect.http.html
index 894af1d..9adbae3 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/a-tag/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/a-tag/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/a-tag/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/a-tag/same-https.no-redirect.http.html
index 9881bdc..3bd0461 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/a-tag/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/a-tag/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/fetch/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/fetch/cross-http.keep-origin.http.html
index 63fd2be..b1b86be 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/fetch/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/fetch/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/fetch/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/fetch/cross-http.no-redirect.http.html
index f564fbeb..5b18c7b 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/fetch/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/fetch/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/fetch/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/fetch/cross-http.swap-origin.http.html
index 446f707..242346a 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/fetch/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/fetch/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/fetch/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/fetch/cross-https.keep-origin.http.html
index a6a9a8a..28153a8b 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/fetch/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/fetch/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/fetch/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/fetch/cross-https.no-redirect.http.html
index f0f6bb6..8d35aee 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/fetch/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/fetch/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/fetch/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/fetch/cross-https.swap-origin.http.html
index 9408a75..8a6e9ef 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/fetch/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/fetch/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/fetch/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/fetch/same-http.keep-origin.http.html
index c53527a..caf83ba 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/fetch/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/fetch/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/fetch/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/fetch/same-http.no-redirect.http.html
index 2e69c9b..d8b48616 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/fetch/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/fetch/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/fetch/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/fetch/same-http.swap-origin.http.html
index 4ccb297..f09e377 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/fetch/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/fetch/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/fetch/same-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/fetch/same-https.keep-origin.http.html
index 72a2bbb1..ce38cff 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/fetch/same-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/fetch/same-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/fetch/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/fetch/same-https.no-redirect.http.html
index c1a1d90..b4f3cdd 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/fetch/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/fetch/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/fetch/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/fetch/same-https.swap-origin.http.html
index 4202ef5..cb4af3e45 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/fetch/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/fetch/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/iframe-tag/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/iframe-tag/cross-http.keep-origin.http.html
index ac008da9..79133000 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/iframe-tag/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/iframe-tag/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/iframe-tag/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/iframe-tag/cross-http.no-redirect.http.html
index 449d06a..f7de0c5 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/iframe-tag/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/iframe-tag/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/iframe-tag/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/iframe-tag/cross-http.swap-origin.http.html
index 64e76c5..dc417fc 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/iframe-tag/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/iframe-tag/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/iframe-tag/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/iframe-tag/cross-https.keep-origin.http.html
index c6c981c..9a1c6a3 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/iframe-tag/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/iframe-tag/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/iframe-tag/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/iframe-tag/cross-https.no-redirect.http.html
index 2405cdb..64606fd0 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/iframe-tag/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/iframe-tag/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/iframe-tag/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/iframe-tag/cross-https.swap-origin.http.html
index 40bc9a0..d00db3d73 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/iframe-tag/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/iframe-tag/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/iframe-tag/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/iframe-tag/same-http.keep-origin.http.html
index 1caa40e..3cb422b 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/iframe-tag/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/iframe-tag/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/iframe-tag/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/iframe-tag/same-http.no-redirect.http.html
index 232dd06..ca4746f 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/iframe-tag/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/iframe-tag/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/iframe-tag/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/iframe-tag/same-http.swap-origin.http.html
index ef73d2a..262bdc5 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/iframe-tag/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/iframe-tag/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/iframe-tag/same-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/iframe-tag/same-https.keep-origin.http.html
index ca2ea3a..c92b249 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/iframe-tag/same-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/iframe-tag/same-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/iframe-tag/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/iframe-tag/same-https.no-redirect.http.html
index b72264e..0817c69 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/iframe-tag/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/iframe-tag/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/iframe-tag/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/iframe-tag/same-https.swap-origin.http.html
index aff2a9d..999f3ff 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/iframe-tag/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/iframe-tag/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/img-tag/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/img-tag/cross-http.keep-origin.http.html
index 5f355e5..4c3c162 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/img-tag/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/img-tag/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/img-tag/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/img-tag/cross-http.no-redirect.http.html
index cc5e5ad..4eb51ac 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/img-tag/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/img-tag/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/img-tag/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/img-tag/cross-http.swap-origin.http.html
index 26cb56f..c356180 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/img-tag/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/img-tag/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/img-tag/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/img-tag/cross-https.keep-origin.http.html
index b56de8a..e9edcb8e 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/img-tag/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/img-tag/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/img-tag/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/img-tag/cross-https.no-redirect.http.html
index 1ac715a..69f3bbe 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/img-tag/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/img-tag/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/img-tag/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/img-tag/cross-https.swap-origin.http.html
index 80cc9e4d..7dd8e29 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/img-tag/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/img-tag/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/img-tag/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/img-tag/same-http.keep-origin.http.html
index 6f33c34..51d092f 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/img-tag/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/img-tag/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/img-tag/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/img-tag/same-http.no-redirect.http.html
index 6b9d3f0..92fef43 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/img-tag/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/img-tag/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/img-tag/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/img-tag/same-http.swap-origin.http.html
index 270738f..dee8ee1 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/img-tag/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/img-tag/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/img-tag/same-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/img-tag/same-https.keep-origin.http.html
index a76c575..0067b94 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/img-tag/same-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/img-tag/same-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/img-tag/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/img-tag/same-https.no-redirect.http.html
index ddb84cb..f2cea06 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/img-tag/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/img-tag/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/img-tag/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/img-tag/same-https.swap-origin.http.html
index 48d5905..bd774c1b 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/img-tag/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/img-tag/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/script-tag/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/script-tag/cross-http.keep-origin.http.html
index 5968953f..68f1878 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/script-tag/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/script-tag/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/script-tag/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/script-tag/cross-http.no-redirect.http.html
index f766b2c..c11ef15 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/script-tag/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/script-tag/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/script-tag/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/script-tag/cross-http.swap-origin.http.html
index 1165a2e0..48e1f0e2 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/script-tag/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/script-tag/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/script-tag/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/script-tag/cross-https.keep-origin.http.html
index 02bbaa3..19051b4 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/script-tag/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/script-tag/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/script-tag/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/script-tag/cross-https.no-redirect.http.html
index 955e322..e144b2c 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/script-tag/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/script-tag/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/script-tag/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/script-tag/cross-https.swap-origin.http.html
index 6c099d32..2065843 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/script-tag/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/script-tag/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/script-tag/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/script-tag/same-http.keep-origin.http.html
index 4a136fe..23919919 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/script-tag/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/script-tag/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/script-tag/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/script-tag/same-http.no-redirect.http.html
index 8465a79e0..00e78e9 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/script-tag/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/script-tag/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/script-tag/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/script-tag/same-http.swap-origin.http.html
index 80babb63..417e470 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/script-tag/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/script-tag/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/script-tag/same-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/script-tag/same-https.keep-origin.http.html
index 9e05dfb..9ca3846 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/script-tag/same-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/script-tag/same-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/script-tag/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/script-tag/same-https.no-redirect.http.html
index c95c268b..a3415b9c 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/script-tag/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/script-tag/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/script-tag/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/script-tag/same-https.swap-origin.http.html
index 9a225bb..b6f1e5c 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/script-tag/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/script-tag/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/sharedworker-classic/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/sharedworker-classic/same-http.keep-origin.http.html
index 84fcecc5..e7a037d 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/sharedworker-classic/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/sharedworker-classic/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/sharedworker-classic/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/sharedworker-classic/same-http.no-redirect.http.html
index 140c27b..480fc6c 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/sharedworker-classic/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/sharedworker-classic/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/worker-classic/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/worker-classic/same-http.keep-origin.http.html
index b10fe3c..3053f30 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/worker-classic/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/worker-classic/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/worker-classic/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/worker-classic/same-http.no-redirect.http.html
index 4d67e3b..2054f17 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/worker-classic/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/worker-classic/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/worker-module/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/worker-module/same-http.keep-origin.http.html
index 5c502e16a..3286e930 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/worker-module/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/worker-module/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/worker-module/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/worker-module/same-http.no-redirect.http.html
index 98c6d31..a491039 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/worker-module/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/worker-module/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/xhr/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/xhr/cross-http.keep-origin.http.html
index 4bbdc3c..c25b2d2 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/xhr/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/xhr/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/xhr/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/xhr/cross-http.no-redirect.http.html
index 68f03afd..0d4b092ce 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/xhr/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/xhr/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/xhr/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/xhr/cross-http.swap-origin.http.html
index 7b3473d..06d3afb 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/xhr/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/xhr/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/xhr/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/xhr/cross-https.keep-origin.http.html
index 47c53c2..ed1794b 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/xhr/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/xhr/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/xhr/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/xhr/cross-https.no-redirect.http.html
index 7fa4360..d448e32d 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/xhr/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/xhr/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/xhr/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/xhr/cross-https.swap-origin.http.html
index 9b08cf1..a1400f7a 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/xhr/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/xhr/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/xhr/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/xhr/same-http.keep-origin.http.html
index 3148307..b47d899 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/xhr/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/xhr/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/xhr/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/xhr/same-http.no-redirect.http.html
index abbeb0e..3735a14 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/xhr/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/xhr/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/xhr/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/xhr/same-http.swap-origin.http.html
index f190467..8a9aa1ce 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/xhr/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/xhr/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/xhr/same-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/xhr/same-https.keep-origin.http.html
index 0461c4c..b336cb1 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/xhr/same-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/xhr/same-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/xhr/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/xhr/same-https.no-redirect.http.html
index ec81dad..22f8cf7 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/xhr/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/xhr/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/xhr/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/xhr/same-https.swap-origin.http.html
index 154335e..5feba3f 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/xhr/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/origin/xhr/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/a-tag/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/a-tag/cross-http.no-redirect.http.html
index c9e0a25d..cf9f09f 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/a-tag/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/a-tag/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/a-tag/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/a-tag/cross-https.no-redirect.http.html
index 9a18f4f7..3a7d1707 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/a-tag/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/a-tag/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/a-tag/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/a-tag/same-http.no-redirect.http.html
index 4a6d64d..c47c7ae 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/a-tag/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/a-tag/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/fetch/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/fetch/cross-http.keep-origin.http.html
index f4c9d47e..4a7a1cd 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/fetch/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/fetch/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/fetch/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/fetch/cross-http.no-redirect.http.html
index 922aee1..75c47f4 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/fetch/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/fetch/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/fetch/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/fetch/cross-http.swap-origin.http.html
index 497aed5..29c901d 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/fetch/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/fetch/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/fetch/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/fetch/cross-https.keep-origin.http.html
index 9874739..aef239c 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/fetch/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/fetch/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/fetch/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/fetch/cross-https.no-redirect.http.html
index f444865..69ff999 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/fetch/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/fetch/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/fetch/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/fetch/cross-https.swap-origin.http.html
index 6875451d..ad689e6 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/fetch/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/fetch/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/fetch/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/fetch/same-http.keep-origin.http.html
index 47ac06ab..b5e05b6 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/fetch/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/fetch/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/fetch/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/fetch/same-http.no-redirect.http.html
index c8561b9..f7edc26 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/fetch/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/fetch/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/fetch/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/fetch/same-http.swap-origin.http.html
index 6d5319719..857d4bd8 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/fetch/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/fetch/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/fetch/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/fetch/same-https.swap-origin.http.html
index 960445e..e2da502 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/fetch/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/fetch/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/iframe-tag/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/iframe-tag/cross-http.keep-origin.http.html
index 96d8ca4..05955e9 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/iframe-tag/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/iframe-tag/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/iframe-tag/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/iframe-tag/cross-http.no-redirect.http.html
index a75887a..ed741ffc 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/iframe-tag/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/iframe-tag/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/iframe-tag/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/iframe-tag/cross-http.swap-origin.http.html
index 2e4a7cf..1748043b 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/iframe-tag/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/iframe-tag/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/iframe-tag/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/iframe-tag/cross-https.keep-origin.http.html
index 1ae45f6..8d85419 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/iframe-tag/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/iframe-tag/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/iframe-tag/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/iframe-tag/cross-https.no-redirect.http.html
index 29f9ef1..f7b99eae 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/iframe-tag/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/iframe-tag/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/iframe-tag/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/iframe-tag/cross-https.swap-origin.http.html
index f06f7ea..45617b38 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/iframe-tag/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/iframe-tag/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/iframe-tag/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/iframe-tag/same-http.keep-origin.http.html
index 8f02222..ac88db6 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/iframe-tag/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/iframe-tag/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/iframe-tag/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/iframe-tag/same-http.no-redirect.http.html
index e48f918..cb38caa 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/iframe-tag/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/iframe-tag/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/iframe-tag/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/iframe-tag/same-http.swap-origin.http.html
index 64fe1b9c..284b3d3 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/iframe-tag/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/iframe-tag/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/iframe-tag/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/iframe-tag/same-https.swap-origin.http.html
index 6d947108..b0d1cc6b 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/iframe-tag/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/iframe-tag/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/img-tag/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/img-tag/cross-http.keep-origin.http.html
index 6618654..6c0ac8c 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/img-tag/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/img-tag/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/img-tag/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/img-tag/cross-http.no-redirect.http.html
index 98733bc..ac6428b3 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/img-tag/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/img-tag/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/img-tag/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/img-tag/cross-http.swap-origin.http.html
index 6f964dc0..bdfdbb42 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/img-tag/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/img-tag/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/img-tag/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/img-tag/cross-https.keep-origin.http.html
index be896539..250ea86 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/img-tag/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/img-tag/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/img-tag/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/img-tag/cross-https.no-redirect.http.html
index 3019d36..95b9997 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/img-tag/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/img-tag/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/img-tag/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/img-tag/cross-https.swap-origin.http.html
index 51dada9..42d4a46f 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/img-tag/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/img-tag/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/img-tag/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/img-tag/same-http.keep-origin.http.html
index bcff54c..5176513 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/img-tag/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/img-tag/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/img-tag/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/img-tag/same-http.no-redirect.http.html
index 9c8629c..3806925 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/img-tag/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/img-tag/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/img-tag/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/img-tag/same-http.swap-origin.http.html
index 588baf9..432be2d 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/img-tag/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/img-tag/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/img-tag/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/img-tag/same-https.swap-origin.http.html
index b41a6ff4..0fd23f8 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/img-tag/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/img-tag/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/script-tag/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/script-tag/cross-http.keep-origin.http.html
index f3830952..548f0bb 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/script-tag/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/script-tag/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/script-tag/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/script-tag/cross-http.no-redirect.http.html
index 1a744125..bb7263f 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/script-tag/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/script-tag/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/script-tag/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/script-tag/cross-http.swap-origin.http.html
index 25c7a78..2ec0e57 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/script-tag/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/script-tag/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/script-tag/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/script-tag/cross-https.keep-origin.http.html
index ca940ab..3010019 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/script-tag/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/script-tag/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/script-tag/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/script-tag/cross-https.no-redirect.http.html
index 14affb7..f760e84 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/script-tag/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/script-tag/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/script-tag/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/script-tag/cross-https.swap-origin.http.html
index 545ccb2..d3b06c1 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/script-tag/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/script-tag/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/script-tag/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/script-tag/same-http.keep-origin.http.html
index 1f3ce019..67efd10 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/script-tag/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/script-tag/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/script-tag/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/script-tag/same-http.no-redirect.http.html
index 8eb22ef..63170ba 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/script-tag/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/script-tag/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/script-tag/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/script-tag/same-http.swap-origin.http.html
index 5ca347a..e9820af 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/script-tag/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/script-tag/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/script-tag/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/script-tag/same-https.swap-origin.http.html
index f5a5c14f..7be6936 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/script-tag/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/script-tag/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/sharedworker-classic/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/sharedworker-classic/same-http.keep-origin.http.html
index 3195a862..76a444d3 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/sharedworker-classic/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/sharedworker-classic/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/sharedworker-classic/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/sharedworker-classic/same-http.no-redirect.http.html
index e171e121..f734c52 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/sharedworker-classic/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/sharedworker-classic/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/worker-classic/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/worker-classic/same-http.keep-origin.http.html
index 23395eff..410e398 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/worker-classic/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/worker-classic/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/worker-classic/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/worker-classic/same-http.no-redirect.http.html
index fd86e103..ce29f72 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/worker-classic/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/worker-classic/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/worker-module/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/worker-module/same-http.keep-origin.http.html
index 4f1ef7c..573908c 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/worker-module/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/worker-module/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/worker-module/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/worker-module/same-http.no-redirect.http.html
index 4814b06..5d1795d0 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/worker-module/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/worker-module/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/xhr/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/xhr/cross-http.keep-origin.http.html
index ab12f602..6551a65 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/xhr/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/xhr/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/xhr/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/xhr/cross-http.no-redirect.http.html
index e0ef9be..aa6a9afa 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/xhr/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/xhr/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/xhr/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/xhr/cross-http.swap-origin.http.html
index 3607fac..d2127b5 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/xhr/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/xhr/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/xhr/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/xhr/cross-https.keep-origin.http.html
index 95410ec6..33930eb 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/xhr/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/xhr/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/xhr/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/xhr/cross-https.no-redirect.http.html
index 56ac1a8..9a255c548 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/xhr/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/xhr/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/xhr/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/xhr/cross-https.swap-origin.http.html
index 4745c3b..1aeca79 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/xhr/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/xhr/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/xhr/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/xhr/same-http.keep-origin.http.html
index 12b6d3a..5aa24a26 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/xhr/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/xhr/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/xhr/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/xhr/same-http.no-redirect.http.html
index 08aae0b..491fd09 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/xhr/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/xhr/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/xhr/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/xhr/same-http.swap-origin.http.html
index a6fef380..1ef1bbf 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/xhr/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/xhr/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/xhr/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/xhr/same-https.swap-origin.http.html
index 1c7329f..7fb5168 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/xhr/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/same-origin/xhr/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/a-tag/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/a-tag/cross-http.no-redirect.http.html
index 55982af..cc6bcdf 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/a-tag/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/a-tag/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/a-tag/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/a-tag/cross-https.no-redirect.http.html
index 07ca09b..5a6b4a5 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/a-tag/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/a-tag/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/a-tag/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/a-tag/same-http.no-redirect.http.html
index 4ae845c..a1075a9 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/a-tag/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/a-tag/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/a-tag/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/a-tag/same-https.no-redirect.http.html
index bddfeb1..5ad2d96c 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/a-tag/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/a-tag/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/fetch/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/fetch/cross-http.keep-origin.http.html
index 50cedb6..988502d5 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/fetch/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/fetch/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/fetch/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/fetch/cross-http.no-redirect.http.html
index 58a5f0b..02f77c1 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/fetch/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/fetch/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/fetch/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/fetch/cross-http.swap-origin.http.html
index 43142b0..fbf506d 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/fetch/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/fetch/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/fetch/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/fetch/cross-https.keep-origin.http.html
index 7ed3574..7d6907b9 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/fetch/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/fetch/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/fetch/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/fetch/cross-https.no-redirect.http.html
index 27b58b9..7f19373 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/fetch/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/fetch/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/fetch/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/fetch/cross-https.swap-origin.http.html
index da53bcee..4fbc60d 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/fetch/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/fetch/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/fetch/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/fetch/same-http.keep-origin.http.html
index cd3a9574..9952f1d 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/fetch/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/fetch/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/fetch/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/fetch/same-http.no-redirect.http.html
index fbadd42..af220298 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/fetch/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/fetch/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/fetch/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/fetch/same-http.swap-origin.http.html
index 994e27d..e0ce6dd 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/fetch/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/fetch/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/fetch/same-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/fetch/same-https.keep-origin.http.html
index c08c640..edd55f4 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/fetch/same-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/fetch/same-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/fetch/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/fetch/same-https.no-redirect.http.html
index 8dcd58f6..2c22f12 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/fetch/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/fetch/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/fetch/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/fetch/same-https.swap-origin.http.html
index 816b3e8..c6dd6fd 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/fetch/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/fetch/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/iframe-tag/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/iframe-tag/cross-http.keep-origin.http.html
index 960b86c..cdf60a63 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/iframe-tag/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/iframe-tag/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/iframe-tag/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/iframe-tag/cross-http.no-redirect.http.html
index 4c76f6f..13f2be66 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/iframe-tag/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/iframe-tag/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/iframe-tag/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/iframe-tag/cross-http.swap-origin.http.html
index 42ebcda..5117714 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/iframe-tag/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/iframe-tag/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/iframe-tag/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/iframe-tag/cross-https.keep-origin.http.html
index 8614e380..9f0e08f 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/iframe-tag/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/iframe-tag/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/iframe-tag/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/iframe-tag/cross-https.no-redirect.http.html
index 7d6c26e..0c03e1d 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/iframe-tag/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/iframe-tag/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/iframe-tag/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/iframe-tag/cross-https.swap-origin.http.html
index 4c22005..09f87f7 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/iframe-tag/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/iframe-tag/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/iframe-tag/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/iframe-tag/same-http.keep-origin.http.html
index 60691c89..812ce4e 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/iframe-tag/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/iframe-tag/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/iframe-tag/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/iframe-tag/same-http.no-redirect.http.html
index 3624ecb..54a39cea 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/iframe-tag/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/iframe-tag/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/iframe-tag/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/iframe-tag/same-http.swap-origin.http.html
index 0f8e9cf..62dc439 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/iframe-tag/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/iframe-tag/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/iframe-tag/same-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/iframe-tag/same-https.keep-origin.http.html
index 7de74e1..8d2889e 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/iframe-tag/same-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/iframe-tag/same-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/iframe-tag/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/iframe-tag/same-https.no-redirect.http.html
index a487963..4f50b75d 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/iframe-tag/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/iframe-tag/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/iframe-tag/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/iframe-tag/same-https.swap-origin.http.html
index db2da5c..8c5189c 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/iframe-tag/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/iframe-tag/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/img-tag/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/img-tag/cross-http.keep-origin.http.html
index 50a4b74..b0dd9854 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/img-tag/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/img-tag/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/img-tag/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/img-tag/cross-http.no-redirect.http.html
index 9bc4871..d09adb8 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/img-tag/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/img-tag/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/img-tag/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/img-tag/cross-http.swap-origin.http.html
index 2560bac..378ce57 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/img-tag/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/img-tag/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/img-tag/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/img-tag/cross-https.keep-origin.http.html
index 85acfd71..b55b004 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/img-tag/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/img-tag/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/img-tag/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/img-tag/cross-https.no-redirect.http.html
index fe8d90e..d2b6def 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/img-tag/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/img-tag/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/img-tag/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/img-tag/cross-https.swap-origin.http.html
index 5e3abd1..9b5bd511 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/img-tag/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/img-tag/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/img-tag/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/img-tag/same-http.keep-origin.http.html
index bb64a89..019b5d93 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/img-tag/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/img-tag/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/img-tag/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/img-tag/same-http.no-redirect.http.html
index d5892747..4d9e585 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/img-tag/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/img-tag/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/img-tag/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/img-tag/same-http.swap-origin.http.html
index b7c335e..c85b06b 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/img-tag/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/img-tag/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/img-tag/same-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/img-tag/same-https.keep-origin.http.html
index 1fca3f1..09d2ca1 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/img-tag/same-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/img-tag/same-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/img-tag/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/img-tag/same-https.no-redirect.http.html
index a840109..69b57be 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/img-tag/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/img-tag/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/img-tag/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/img-tag/same-https.swap-origin.http.html
index cc7d597..2353fc1 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/img-tag/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/img-tag/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/script-tag/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/script-tag/cross-http.keep-origin.http.html
index 1fb4327..39f774e9 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/script-tag/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/script-tag/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/script-tag/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/script-tag/cross-http.no-redirect.http.html
index 6805895..9a5c3d7 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/script-tag/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/script-tag/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/script-tag/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/script-tag/cross-http.swap-origin.http.html
index fbe0e291..9e5f5a5b 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/script-tag/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/script-tag/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/script-tag/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/script-tag/cross-https.keep-origin.http.html
index d65ee887..16c81ef 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/script-tag/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/script-tag/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/script-tag/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/script-tag/cross-https.no-redirect.http.html
index 0c92094..5dd4c12c 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/script-tag/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/script-tag/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/script-tag/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/script-tag/cross-https.swap-origin.http.html
index 8febd85..3586e60a 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/script-tag/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/script-tag/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/script-tag/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/script-tag/same-http.keep-origin.http.html
index c4da267..f53bbfa 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/script-tag/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/script-tag/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/script-tag/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/script-tag/same-http.no-redirect.http.html
index 5d7684c..9b525263 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/script-tag/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/script-tag/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/script-tag/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/script-tag/same-http.swap-origin.http.html
index 2c28e91..85914f5 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/script-tag/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/script-tag/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/script-tag/same-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/script-tag/same-https.keep-origin.http.html
index c066c580..f6b0d4f 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/script-tag/same-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/script-tag/same-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/script-tag/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/script-tag/same-https.no-redirect.http.html
index 773a7bec..cb6a6f11 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/script-tag/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/script-tag/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/script-tag/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/script-tag/same-https.swap-origin.http.html
index a776f68..99b85ca 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/script-tag/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/script-tag/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html
index 862794d..0fb1c87cb0 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/sharedworker-classic/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html
index f02587e..e3332c0 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/sharedworker-classic/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html
index 1fe0b49..57bac4c 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html
index 4661e54..f32749b 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/worker-module/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/worker-module/same-http.keep-origin.http.html
index 972e24a..0c9e0ab 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/worker-module/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/worker-module/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/worker-module/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/worker-module/same-http.no-redirect.http.html
index c092db5..fa8d80b 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/worker-module/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/worker-module/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/xhr/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/xhr/cross-http.keep-origin.http.html
index 4ed4a86..eb4cc3a 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/xhr/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/xhr/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/xhr/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/xhr/cross-http.no-redirect.http.html
index 8c6d47e..cf66130 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/xhr/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/xhr/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/xhr/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/xhr/cross-http.swap-origin.http.html
index fa0114b..25f9c3d 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/xhr/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/xhr/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/xhr/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/xhr/cross-https.keep-origin.http.html
index d5e6d4a..f62e0efd 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/xhr/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/xhr/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/xhr/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/xhr/cross-https.no-redirect.http.html
index fdd422c..7903fc8 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/xhr/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/xhr/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/xhr/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/xhr/cross-https.swap-origin.http.html
index 0a39f27..4294a65 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/xhr/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/xhr/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/xhr/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/xhr/same-http.keep-origin.http.html
index d08edb1b..7e97967 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/xhr/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/xhr/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/xhr/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/xhr/same-http.no-redirect.http.html
index e8edaf5..b8beff2 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/xhr/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/xhr/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/xhr/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/xhr/same-http.swap-origin.http.html
index c3b6c66..25b092b 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/xhr/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/xhr/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/xhr/same-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/xhr/same-https.keep-origin.http.html
index 398963d..6c5284e 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/xhr/same-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/xhr/same-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/xhr/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/xhr/same-https.no-redirect.http.html
index f18a99d..63435e5 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/xhr/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/xhr/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/xhr/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/xhr/same-https.swap-origin.http.html
index c8d8379..abd13ef 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/xhr/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin-when-cross-origin/xhr/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/a-tag/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/a-tag/cross-http.no-redirect.http.html
index 251ef530..b82365d6 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/a-tag/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/a-tag/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/a-tag/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/a-tag/cross-https.no-redirect.http.html
index cb3e328..a0938dc 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/a-tag/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/a-tag/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/a-tag/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/a-tag/same-http.no-redirect.http.html
index 84160270..a3403c55 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/a-tag/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/a-tag/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/a-tag/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/a-tag/same-https.no-redirect.http.html
index 045462b..8cf2efe 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/a-tag/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/a-tag/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/fetch/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/fetch/cross-http.keep-origin.http.html
index 06f1372..ad8e36f 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/fetch/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/fetch/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/fetch/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/fetch/cross-http.no-redirect.http.html
index a1eefb2d..e0136aa 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/fetch/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/fetch/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/fetch/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/fetch/cross-http.swap-origin.http.html
index 40ce944..dc86b8b 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/fetch/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/fetch/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/fetch/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/fetch/cross-https.keep-origin.http.html
index 7c544ce..fbcdcc9 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/fetch/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/fetch/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/fetch/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/fetch/cross-https.no-redirect.http.html
index bc1c75ca..cdac8ea 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/fetch/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/fetch/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/fetch/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/fetch/cross-https.swap-origin.http.html
index cad9835..6ab6b2c 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/fetch/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/fetch/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/fetch/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/fetch/same-http.keep-origin.http.html
index 5dc3e60..6e221cc 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/fetch/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/fetch/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/fetch/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/fetch/same-http.no-redirect.http.html
index a6c4798..9e29fb7 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/fetch/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/fetch/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/fetch/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/fetch/same-http.swap-origin.http.html
index 84f9933..7e5a0cb 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/fetch/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/fetch/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/fetch/same-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/fetch/same-https.keep-origin.http.html
index d0b4aa25..4bea553 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/fetch/same-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/fetch/same-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/fetch/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/fetch/same-https.no-redirect.http.html
index 16160d6..72b783f 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/fetch/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/fetch/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/fetch/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/fetch/same-https.swap-origin.http.html
index 0168534..9652e9e 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/fetch/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/fetch/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/iframe-tag/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/iframe-tag/cross-http.keep-origin.http.html
index c741827..d51f75b5 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/iframe-tag/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/iframe-tag/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/iframe-tag/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/iframe-tag/cross-http.no-redirect.http.html
index 88bbb6f..6e6361f 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/iframe-tag/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/iframe-tag/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/iframe-tag/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/iframe-tag/cross-http.swap-origin.http.html
index 726cb8f..0bb6615 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/iframe-tag/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/iframe-tag/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/iframe-tag/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/iframe-tag/cross-https.keep-origin.http.html
index 95b2888..16e0a09 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/iframe-tag/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/iframe-tag/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/iframe-tag/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/iframe-tag/cross-https.no-redirect.http.html
index 0a4a78f..cc2c883d 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/iframe-tag/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/iframe-tag/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/iframe-tag/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/iframe-tag/cross-https.swap-origin.http.html
index 77210ab..36dc5e7 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/iframe-tag/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/iframe-tag/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/iframe-tag/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/iframe-tag/same-http.keep-origin.http.html
index f255b9d..2fec579 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/iframe-tag/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/iframe-tag/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/iframe-tag/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/iframe-tag/same-http.no-redirect.http.html
index 620c19f..0cb6821 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/iframe-tag/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/iframe-tag/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/iframe-tag/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/iframe-tag/same-http.swap-origin.http.html
index 6c860976..5e7edca 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/iframe-tag/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/iframe-tag/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/iframe-tag/same-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/iframe-tag/same-https.keep-origin.http.html
index b423313e..5c65f3e 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/iframe-tag/same-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/iframe-tag/same-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/iframe-tag/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/iframe-tag/same-https.no-redirect.http.html
index e686e40..ab47796 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/iframe-tag/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/iframe-tag/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/iframe-tag/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/iframe-tag/same-https.swap-origin.http.html
index 1087eb5..7b21011 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/iframe-tag/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/iframe-tag/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/img-tag/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/img-tag/cross-http.keep-origin.http.html
index e09e61d8..3b867e1 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/img-tag/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/img-tag/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/img-tag/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/img-tag/cross-http.no-redirect.http.html
index 40105a6..84be959 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/img-tag/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/img-tag/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/img-tag/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/img-tag/cross-http.swap-origin.http.html
index 273fe59..1110466 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/img-tag/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/img-tag/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/img-tag/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/img-tag/cross-https.keep-origin.http.html
index 5b6cb7d0..ab93ca5 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/img-tag/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/img-tag/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/img-tag/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/img-tag/cross-https.no-redirect.http.html
index 4df54d7..9889ae09 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/img-tag/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/img-tag/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/img-tag/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/img-tag/cross-https.swap-origin.http.html
index 66b10ff..e2aac2e 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/img-tag/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/img-tag/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/img-tag/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/img-tag/same-http.keep-origin.http.html
index 2024fa4..b4dde1f 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/img-tag/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/img-tag/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/img-tag/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/img-tag/same-http.no-redirect.http.html
index 10962adc..6115728 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/img-tag/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/img-tag/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/img-tag/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/img-tag/same-http.swap-origin.http.html
index 94f38db..fd85fb4 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/img-tag/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/img-tag/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/img-tag/same-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/img-tag/same-https.keep-origin.http.html
index 3710c1c..4facdd0 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/img-tag/same-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/img-tag/same-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/img-tag/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/img-tag/same-https.no-redirect.http.html
index 1914626..5602278 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/img-tag/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/img-tag/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/img-tag/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/img-tag/same-https.swap-origin.http.html
index f3c25498..118ab6d 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/img-tag/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/img-tag/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/script-tag/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/script-tag/cross-http.keep-origin.http.html
index bf1a4d6..10a75bd 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/script-tag/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/script-tag/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/script-tag/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/script-tag/cross-http.no-redirect.http.html
index c3230d1..e556f69a 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/script-tag/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/script-tag/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/script-tag/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/script-tag/cross-http.swap-origin.http.html
index 0e35ab3..7672fb07 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/script-tag/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/script-tag/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/script-tag/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/script-tag/cross-https.keep-origin.http.html
index 6ba7329..b0b9e885 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/script-tag/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/script-tag/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/script-tag/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/script-tag/cross-https.no-redirect.http.html
index 54cfa96..9ff9336 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/script-tag/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/script-tag/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/script-tag/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/script-tag/cross-https.swap-origin.http.html
index 6961299bc..ee23beb5e 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/script-tag/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/script-tag/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/script-tag/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/script-tag/same-http.keep-origin.http.html
index e2dc274d..2f011e5d 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/script-tag/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/script-tag/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/script-tag/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/script-tag/same-http.no-redirect.http.html
index 1c48443..31b94f5 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/script-tag/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/script-tag/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/script-tag/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/script-tag/same-http.swap-origin.http.html
index c198959d..f004d3af 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/script-tag/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/script-tag/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/script-tag/same-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/script-tag/same-https.keep-origin.http.html
index c77e121..58a295e 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/script-tag/same-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/script-tag/same-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/script-tag/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/script-tag/same-https.no-redirect.http.html
index 6a07112..6df3e8f 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/script-tag/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/script-tag/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/script-tag/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/script-tag/same-https.swap-origin.http.html
index e73e480..a184016 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/script-tag/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/script-tag/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/sharedworker-classic/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/sharedworker-classic/same-http.keep-origin.http.html
index b7dba7b8..4dea9a7 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/sharedworker-classic/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/sharedworker-classic/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/sharedworker-classic/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/sharedworker-classic/same-http.no-redirect.http.html
index 4a211294..eb2572b 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/sharedworker-classic/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/sharedworker-classic/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/worker-classic/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/worker-classic/same-http.keep-origin.http.html
index 638c68b..46f300c1 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/worker-classic/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/worker-classic/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/worker-classic/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/worker-classic/same-http.no-redirect.http.html
index addcc15..c4b07b27 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/worker-classic/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/worker-classic/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/worker-module/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/worker-module/same-http.keep-origin.http.html
index 98905fb..b0ac1c2 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/worker-module/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/worker-module/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/worker-module/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/worker-module/same-http.no-redirect.http.html
index 9c5dd96..cd1e64a 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/worker-module/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/worker-module/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/xhr/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/xhr/cross-http.keep-origin.http.html
index 741c874..0e9e155 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/xhr/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/xhr/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/xhr/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/xhr/cross-http.no-redirect.http.html
index b2e574c..c26dfcf0 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/xhr/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/xhr/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/xhr/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/xhr/cross-http.swap-origin.http.html
index 8af9fd6..bd586a4 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/xhr/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/xhr/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/xhr/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/xhr/cross-https.keep-origin.http.html
index 86e0d4e..88959e9 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/xhr/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/xhr/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/xhr/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/xhr/cross-https.no-redirect.http.html
index 26460c3..be36467 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/xhr/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/xhr/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/xhr/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/xhr/cross-https.swap-origin.http.html
index c68cc7e..1ef6151 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/xhr/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/xhr/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/xhr/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/xhr/same-http.keep-origin.http.html
index 950af0c..077f319 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/xhr/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/xhr/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/xhr/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/xhr/same-http.no-redirect.http.html
index d4ae93bb7..493064ec 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/xhr/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/xhr/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/xhr/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/xhr/same-http.swap-origin.http.html
index 98aea07..37546ab4 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/xhr/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/xhr/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/xhr/same-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/xhr/same-https.keep-origin.http.html
index 4a711f7a..9a136ff 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/xhr/same-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/xhr/same-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/xhr/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/xhr/same-https.no-redirect.http.html
index ff44434..4c9ca2c 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/xhr/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/xhr/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/xhr/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/xhr/same-https.swap-origin.http.html
index cf57a0a..13ff80c 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/xhr/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/strict-origin/xhr/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/a-tag/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/a-tag/cross-http.no-redirect.http.html
index 307e935..2a4fdc7 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/a-tag/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/a-tag/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/a-tag/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/a-tag/cross-https.no-redirect.http.html
index a4529bc..bee2563 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/a-tag/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/a-tag/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/a-tag/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/a-tag/same-http.no-redirect.http.html
index 6c1dc71..3cf7c4c 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/a-tag/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/a-tag/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/a-tag/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/a-tag/same-https.no-redirect.http.html
index 9431a17..5d31dc5 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/a-tag/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/a-tag/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/fetch/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/fetch/cross-http.keep-origin.http.html
index 5043a93..9f0f73c 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/fetch/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/fetch/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/fetch/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/fetch/cross-http.no-redirect.http.html
index 46ce697..f0b082be 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/fetch/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/fetch/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/fetch/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/fetch/cross-http.swap-origin.http.html
index 74da7c1..7195fe9 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/fetch/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/fetch/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/fetch/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/fetch/cross-https.keep-origin.http.html
index ca6825c..5ad1617 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/fetch/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/fetch/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/fetch/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/fetch/cross-https.no-redirect.http.html
index 31472d6..9b6e6dcb 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/fetch/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/fetch/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/fetch/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/fetch/cross-https.swap-origin.http.html
index 2b83b4e..71338b0 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/fetch/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/fetch/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/fetch/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/fetch/same-http.keep-origin.http.html
index 7d4734d..594f9d56 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/fetch/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/fetch/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/fetch/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/fetch/same-http.no-redirect.http.html
index 9dfa39e..805c88d 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/fetch/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/fetch/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/fetch/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/fetch/same-http.swap-origin.http.html
index 0a8119c..a356469 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/fetch/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/fetch/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/fetch/same-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/fetch/same-https.keep-origin.http.html
index 6d3c2c9c..3a117de7 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/fetch/same-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/fetch/same-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/fetch/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/fetch/same-https.no-redirect.http.html
index 267081a2..53897c4f 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/fetch/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/fetch/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/fetch/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/fetch/same-https.swap-origin.http.html
index 8946815..956b965c 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/fetch/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/fetch/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/iframe-tag/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/iframe-tag/cross-http.keep-origin.http.html
index c6e13851..e7cc89c 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/iframe-tag/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/iframe-tag/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/iframe-tag/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/iframe-tag/cross-http.no-redirect.http.html
index 4b82e5f..f623148 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/iframe-tag/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/iframe-tag/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/iframe-tag/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/iframe-tag/cross-http.swap-origin.http.html
index 62b088b4..f74efa1 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/iframe-tag/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/iframe-tag/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/iframe-tag/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/iframe-tag/cross-https.keep-origin.http.html
index 18d27e6..e04e26d6 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/iframe-tag/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/iframe-tag/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/iframe-tag/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/iframe-tag/cross-https.no-redirect.http.html
index a946796..3683e68 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/iframe-tag/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/iframe-tag/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/iframe-tag/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/iframe-tag/cross-https.swap-origin.http.html
index d2d9fe9..69f3a57 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/iframe-tag/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/iframe-tag/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/iframe-tag/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/iframe-tag/same-http.keep-origin.http.html
index 1a0270474..a8e28bc 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/iframe-tag/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/iframe-tag/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/iframe-tag/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/iframe-tag/same-http.no-redirect.http.html
index 53bd45e5..2e7076e 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/iframe-tag/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/iframe-tag/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/iframe-tag/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/iframe-tag/same-http.swap-origin.http.html
index 7292fa7..6469fce 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/iframe-tag/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/iframe-tag/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/iframe-tag/same-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/iframe-tag/same-https.keep-origin.http.html
index df3627a..7f0d96d 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/iframe-tag/same-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/iframe-tag/same-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/iframe-tag/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/iframe-tag/same-https.no-redirect.http.html
index 82854ae..f94e656a 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/iframe-tag/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/iframe-tag/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/iframe-tag/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/iframe-tag/same-https.swap-origin.http.html
index bda4ac8..55fb90e 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/iframe-tag/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/iframe-tag/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/img-tag/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/img-tag/cross-http.keep-origin.http.html
index dfb903d2..d052325 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/img-tag/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/img-tag/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/img-tag/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/img-tag/cross-http.no-redirect.http.html
index f755eb1..3d3c216 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/img-tag/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/img-tag/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/img-tag/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/img-tag/cross-http.swap-origin.http.html
index 0f84802..e09505e 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/img-tag/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/img-tag/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/img-tag/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/img-tag/cross-https.keep-origin.http.html
index 87948038..bb12a37 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/img-tag/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/img-tag/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/img-tag/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/img-tag/cross-https.no-redirect.http.html
index 01490d5..4505b34 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/img-tag/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/img-tag/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/img-tag/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/img-tag/cross-https.swap-origin.http.html
index f5770d24..5f47b5fd 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/img-tag/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/img-tag/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/img-tag/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/img-tag/same-http.keep-origin.http.html
index 5ff2659..00d436a 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/img-tag/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/img-tag/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/img-tag/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/img-tag/same-http.no-redirect.http.html
index e8264215..7f6a1eb 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/img-tag/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/img-tag/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/img-tag/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/img-tag/same-http.swap-origin.http.html
index 971da6f..99b4122 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/img-tag/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/img-tag/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/img-tag/same-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/img-tag/same-https.keep-origin.http.html
index 9f040e4c..32f5776 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/img-tag/same-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/img-tag/same-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/img-tag/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/img-tag/same-https.no-redirect.http.html
index 4710141f..1f57b02 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/img-tag/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/img-tag/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/img-tag/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/img-tag/same-https.swap-origin.http.html
index 2a89c1f..2bd8be3 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/img-tag/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/img-tag/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/script-tag/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/script-tag/cross-http.keep-origin.http.html
index aec7c66..8bd7b97f 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/script-tag/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/script-tag/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/script-tag/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/script-tag/cross-http.no-redirect.http.html
index 7a0821b..2171006 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/script-tag/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/script-tag/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/script-tag/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/script-tag/cross-http.swap-origin.http.html
index 6eca4e51..302b9ee 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/script-tag/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/script-tag/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/script-tag/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/script-tag/cross-https.keep-origin.http.html
index f5dd935..f6bc803e 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/script-tag/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/script-tag/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/script-tag/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/script-tag/cross-https.no-redirect.http.html
index a6322387..b3188ea4 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/script-tag/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/script-tag/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/script-tag/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/script-tag/cross-https.swap-origin.http.html
index fbc8b77..77f2ddf3 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/script-tag/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/script-tag/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/script-tag/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/script-tag/same-http.keep-origin.http.html
index 680b229..877c18a7 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/script-tag/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/script-tag/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/script-tag/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/script-tag/same-http.no-redirect.http.html
index cd0494a..2de7eef 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/script-tag/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/script-tag/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/script-tag/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/script-tag/same-http.swap-origin.http.html
index 7411f89..99c31df 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/script-tag/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/script-tag/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/script-tag/same-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/script-tag/same-https.keep-origin.http.html
index ad33638..c1998fe 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/script-tag/same-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/script-tag/same-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/script-tag/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/script-tag/same-https.no-redirect.http.html
index 73eec5a..c2f7da5 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/script-tag/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/script-tag/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/script-tag/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/script-tag/same-https.swap-origin.http.html
index cc46af53..5f8dbc6f2 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/script-tag/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/script-tag/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/sharedworker-classic/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/sharedworker-classic/same-http.keep-origin.http.html
index 7dd104c..f3cead8 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/sharedworker-classic/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/sharedworker-classic/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/sharedworker-classic/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/sharedworker-classic/same-http.no-redirect.http.html
index 259587c8..a891328 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/sharedworker-classic/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/sharedworker-classic/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/worker-classic/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/worker-classic/same-http.keep-origin.http.html
index c18924d..5f642933 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/worker-classic/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/worker-classic/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/worker-classic/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/worker-classic/same-http.no-redirect.http.html
index 420f475a..b93ff26 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/worker-classic/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/worker-classic/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/worker-module/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/worker-module/same-http.keep-origin.http.html
index 97d74288..98f3953 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/worker-module/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/worker-module/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/worker-module/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/worker-module/same-http.no-redirect.http.html
index 84dd2dbf98..8332226 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/worker-module/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/worker-module/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/xhr/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/xhr/cross-http.keep-origin.http.html
index 2b915db9..e2a56f0 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/xhr/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/xhr/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/xhr/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/xhr/cross-http.no-redirect.http.html
index 46570c61..cf7cd16 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/xhr/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/xhr/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/xhr/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/xhr/cross-http.swap-origin.http.html
index 70a9387..50db0f41 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/xhr/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/xhr/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/xhr/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/xhr/cross-https.keep-origin.http.html
index cb52ad0c3..4801f40 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/xhr/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/xhr/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/xhr/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/xhr/cross-https.no-redirect.http.html
index 4d23b5b..45832d20 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/xhr/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/xhr/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/xhr/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/xhr/cross-https.swap-origin.http.html
index 08cdcda..58816ccaa 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/xhr/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/xhr/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/xhr/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/xhr/same-http.keep-origin.http.html
index 0a9468a..23a6e69 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/xhr/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/xhr/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/xhr/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/xhr/same-http.no-redirect.http.html
index 907dfe4..20e58ba 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/xhr/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/xhr/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/xhr/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/xhr/same-http.swap-origin.http.html
index 0bbd06e..1f87d92a 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/xhr/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/xhr/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/xhr/same-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/xhr/same-https.keep-origin.http.html
index a90ea83..99b155b8 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/xhr/same-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/xhr/same-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/xhr/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/xhr/same-https.no-redirect.http.html
index 146bef28..c0c2a33 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/xhr/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/xhr/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/xhr/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/xhr/same-https.swap-origin.http.html
index dcecb0d1..f17303f9 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/xhr/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unsafe-url/xhr/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/a-tag/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/a-tag/cross-http.no-redirect.http.html
index 7b76180..911f16d 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/a-tag/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/a-tag/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/a-tag/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/a-tag/cross-https.no-redirect.http.html
index ead7efc..9d8064ff 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/a-tag/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/a-tag/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/a-tag/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/a-tag/same-http.no-redirect.http.html
index 0350e03..cdaf18c 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/a-tag/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/a-tag/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/a-tag/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/a-tag/same-https.no-redirect.http.html
index be8155a..9a6c2b4 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/a-tag/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/a-tag/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/fetch/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/fetch/cross-http.keep-origin.http.html
index d6dbf7c..7fa2a77d 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/fetch/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/fetch/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/fetch/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/fetch/cross-http.no-redirect.http.html
index d6b7b1d..bbf1496 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/fetch/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/fetch/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/fetch/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/fetch/cross-http.swap-origin.http.html
index 228bac96..989c793 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/fetch/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/fetch/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/fetch/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/fetch/cross-https.keep-origin.http.html
index 23a5dc696..7a596e7 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/fetch/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/fetch/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/fetch/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/fetch/cross-https.no-redirect.http.html
index 2b950c4..bba5c2a 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/fetch/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/fetch/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/fetch/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/fetch/cross-https.swap-origin.http.html
index 68d8ddd..867e640 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/fetch/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/fetch/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/fetch/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/fetch/same-http.keep-origin.http.html
index 68a2919..5e004ab 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/fetch/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/fetch/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/fetch/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/fetch/same-http.no-redirect.http.html
index 9786e11..9417602 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/fetch/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/fetch/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/fetch/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/fetch/same-http.swap-origin.http.html
index aeb97a1..82b9de5 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/fetch/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/fetch/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/fetch/same-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/fetch/same-https.keep-origin.http.html
index 27bf0fb3..20be1f2 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/fetch/same-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/fetch/same-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/fetch/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/fetch/same-https.no-redirect.http.html
index f2de2eea..244623b 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/fetch/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/fetch/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/fetch/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/fetch/same-https.swap-origin.http.html
index 2f059b4..fbcccb8 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/fetch/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/fetch/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/iframe-tag/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/iframe-tag/cross-http.keep-origin.http.html
index 51b796f..d2ea91e 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/iframe-tag/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/iframe-tag/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/iframe-tag/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/iframe-tag/cross-http.no-redirect.http.html
index ae910ab..1ce5e11 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/iframe-tag/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/iframe-tag/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/iframe-tag/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/iframe-tag/cross-http.swap-origin.http.html
index 6b96a09..afdfbaa 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/iframe-tag/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/iframe-tag/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/iframe-tag/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/iframe-tag/cross-https.keep-origin.http.html
index 89eb976..76040ac 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/iframe-tag/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/iframe-tag/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/iframe-tag/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/iframe-tag/cross-https.no-redirect.http.html
index d099040..0f31d22 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/iframe-tag/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/iframe-tag/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/iframe-tag/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/iframe-tag/cross-https.swap-origin.http.html
index 0266354..41626c4 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/iframe-tag/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/iframe-tag/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/iframe-tag/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/iframe-tag/same-http.keep-origin.http.html
index a88a072..a0252bb 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/iframe-tag/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/iframe-tag/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/iframe-tag/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/iframe-tag/same-http.no-redirect.http.html
index 04cc2e35..1c119381 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/iframe-tag/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/iframe-tag/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/iframe-tag/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/iframe-tag/same-http.swap-origin.http.html
index c877963c..764ffe5 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/iframe-tag/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/iframe-tag/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/iframe-tag/same-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/iframe-tag/same-https.keep-origin.http.html
index 5a1af89..5cc8685d 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/iframe-tag/same-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/iframe-tag/same-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/iframe-tag/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/iframe-tag/same-https.no-redirect.http.html
index 4c9fb03..4743875 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/iframe-tag/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/iframe-tag/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/iframe-tag/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/iframe-tag/same-https.swap-origin.http.html
index d9ab586..ca673fd 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/iframe-tag/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/iframe-tag/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/img-tag/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/img-tag/cross-http.keep-origin.http.html
index 9631d81..b9ee419 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/img-tag/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/img-tag/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/img-tag/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/img-tag/cross-http.no-redirect.http.html
index 6e03cda..95e968cd 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/img-tag/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/img-tag/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/img-tag/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/img-tag/cross-http.swap-origin.http.html
index f3ccb1f5..8eac9af5 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/img-tag/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/img-tag/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/img-tag/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/img-tag/cross-https.keep-origin.http.html
index 27266df..6483c72 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/img-tag/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/img-tag/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/img-tag/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/img-tag/cross-https.no-redirect.http.html
index 72992868..3f32c6b 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/img-tag/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/img-tag/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/img-tag/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/img-tag/cross-https.swap-origin.http.html
index 53ae37b..1dfd817 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/img-tag/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/img-tag/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/img-tag/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/img-tag/same-http.keep-origin.http.html
index bb0fc80..4c6a93c 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/img-tag/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/img-tag/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/img-tag/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/img-tag/same-http.no-redirect.http.html
index 6d4ed57..c0411dc 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/img-tag/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/img-tag/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/img-tag/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/img-tag/same-http.swap-origin.http.html
index 719a6354..d67e02b 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/img-tag/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/img-tag/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/img-tag/same-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/img-tag/same-https.keep-origin.http.html
index c39fdd14..6e90c0f 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/img-tag/same-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/img-tag/same-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/img-tag/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/img-tag/same-https.no-redirect.http.html
index d594f8b..9f91b248 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/img-tag/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/img-tag/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/img-tag/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/img-tag/same-https.swap-origin.http.html
index 2fbe12f..138f335 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/img-tag/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/img-tag/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/script-tag/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/script-tag/cross-http.keep-origin.http.html
index 2a587ca..78ece0b 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/script-tag/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/script-tag/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/script-tag/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/script-tag/cross-http.no-redirect.http.html
index d0be10f..7a5879d9 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/script-tag/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/script-tag/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/script-tag/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/script-tag/cross-http.swap-origin.http.html
index 85414f14d..9d33818 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/script-tag/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/script-tag/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/script-tag/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/script-tag/cross-https.keep-origin.http.html
index ec3dcde..55e030b 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/script-tag/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/script-tag/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/script-tag/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/script-tag/cross-https.no-redirect.http.html
index 196770f..3827e7a 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/script-tag/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/script-tag/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/script-tag/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/script-tag/cross-https.swap-origin.http.html
index 151d876..f767e02 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/script-tag/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/script-tag/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/script-tag/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/script-tag/same-http.keep-origin.http.html
index c186fa1..0c2128b 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/script-tag/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/script-tag/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/script-tag/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/script-tag/same-http.no-redirect.http.html
index d0c49af..56ba08f 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/script-tag/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/script-tag/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/script-tag/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/script-tag/same-http.swap-origin.http.html
index 594be914..8d2bb23f 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/script-tag/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/script-tag/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/script-tag/same-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/script-tag/same-https.keep-origin.http.html
index f0acef6c..b6ac13a20 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/script-tag/same-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/script-tag/same-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/script-tag/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/script-tag/same-https.no-redirect.http.html
index 569f8c1d..9f2e599 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/script-tag/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/script-tag/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/script-tag/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/script-tag/same-https.swap-origin.http.html
index c027bcd8..8b940c9 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/script-tag/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/script-tag/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/sharedworker-classic/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/sharedworker-classic/same-http.keep-origin.http.html
index 6e6160a..1f4d8c2 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/sharedworker-classic/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/sharedworker-classic/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/sharedworker-classic/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/sharedworker-classic/same-http.no-redirect.http.html
index 03b0a5e..8cfd6e3 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/sharedworker-classic/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/sharedworker-classic/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/worker-classic/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/worker-classic/same-http.keep-origin.http.html
index 9c1caa9..6fc428e 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/worker-classic/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/worker-classic/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/worker-classic/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/worker-classic/same-http.no-redirect.http.html
index 954ed8f..1609876 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/worker-classic/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/worker-classic/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/worker-module/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/worker-module/same-http.keep-origin.http.html
index dd8d5e58..f1e900f 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/worker-module/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/worker-module/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/worker-module/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/worker-module/same-http.no-redirect.http.html
index 282912b7..ba6fe6d 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/worker-module/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/worker-module/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/xhr/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/xhr/cross-http.keep-origin.http.html
index 7119289..4b2c486 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/xhr/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/xhr/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/xhr/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/xhr/cross-http.no-redirect.http.html
index 6003330..9a70525 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/xhr/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/xhr/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/xhr/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/xhr/cross-http.swap-origin.http.html
index be62704..affed78 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/xhr/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/xhr/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/xhr/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/xhr/cross-https.keep-origin.http.html
index 7d413166..70893f7 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/xhr/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/xhr/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/xhr/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/xhr/cross-https.no-redirect.http.html
index 84e65d3..b51c293a 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/xhr/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/xhr/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/xhr/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/xhr/cross-https.swap-origin.http.html
index 1b7e54f..242a50c 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/xhr/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/xhr/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/xhr/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/xhr/same-http.keep-origin.http.html
index 9f3d16e..e48d578 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/xhr/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/xhr/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/xhr/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/xhr/same-http.no-redirect.http.html
index 40cd238d..2a116be0 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/xhr/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/xhr/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/xhr/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/xhr/same-http.swap-origin.http.html
index a912773..6dbf270 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/xhr/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/xhr/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/xhr/same-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/xhr/same-https.keep-origin.http.html
index b0eda99..840f039 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/xhr/same-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/xhr/same-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/xhr/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/xhr/same-https.no-redirect.http.html
index ecfc6a5..8a66808c 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/xhr/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/xhr/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/xhr/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/xhr/same-https.swap-origin.http.html
index c166e90..957da89 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/xhr/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/top.meta/unset/xhr/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer-when-downgrade/fetch/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer-when-downgrade/fetch/cross-http.keep-origin.http.html
index 66b6fe0..9155d66 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer-when-downgrade/fetch/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer-when-downgrade/fetch/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer-when-downgrade/fetch/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer-when-downgrade/fetch/cross-http.no-redirect.http.html
index 51dd83f..5c9c66f 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer-when-downgrade/fetch/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer-when-downgrade/fetch/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer-when-downgrade/fetch/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer-when-downgrade/fetch/cross-http.swap-origin.http.html
index c1e6a7f3..0fef98f 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer-when-downgrade/fetch/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer-when-downgrade/fetch/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer-when-downgrade/fetch/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer-when-downgrade/fetch/cross-https.keep-origin.http.html
index f00deb6..a25dc4b 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer-when-downgrade/fetch/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer-when-downgrade/fetch/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer-when-downgrade/fetch/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer-when-downgrade/fetch/cross-https.no-redirect.http.html
index fb61f41e..07122558 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer-when-downgrade/fetch/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer-when-downgrade/fetch/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer-when-downgrade/fetch/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer-when-downgrade/fetch/cross-https.swap-origin.http.html
index 856a6ff..ad37e71 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer-when-downgrade/fetch/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer-when-downgrade/fetch/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer-when-downgrade/fetch/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer-when-downgrade/fetch/same-http.keep-origin.http.html
index 57708338..9a0f501 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer-when-downgrade/fetch/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer-when-downgrade/fetch/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer-when-downgrade/fetch/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer-when-downgrade/fetch/same-http.no-redirect.http.html
index 885af71..a8459d5 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer-when-downgrade/fetch/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer-when-downgrade/fetch/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer-when-downgrade/fetch/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer-when-downgrade/fetch/same-http.swap-origin.http.html
index 36c1111..f2ddc79 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer-when-downgrade/fetch/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer-when-downgrade/fetch/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer-when-downgrade/fetch/same-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer-when-downgrade/fetch/same-https.keep-origin.http.html
index a641994..9f1006ae 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer-when-downgrade/fetch/same-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer-when-downgrade/fetch/same-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer-when-downgrade/fetch/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer-when-downgrade/fetch/same-https.no-redirect.http.html
index be30b93..183bb2d 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer-when-downgrade/fetch/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer-when-downgrade/fetch/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer-when-downgrade/fetch/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer-when-downgrade/fetch/same-https.swap-origin.http.html
index b97708f7..cca7a26a 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer-when-downgrade/fetch/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer-when-downgrade/fetch/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer-when-downgrade/worker-classic/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer-when-downgrade/worker-classic/same-http.keep-origin.http.html
index 01332cb5..bd9a2d5 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer-when-downgrade/worker-classic/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer-when-downgrade/worker-classic/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer-when-downgrade/worker-classic/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer-when-downgrade/worker-classic/same-http.no-redirect.http.html
index 62443f0..61855c8 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer-when-downgrade/worker-classic/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer-when-downgrade/worker-classic/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer-when-downgrade/worker-module/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer-when-downgrade/worker-module/same-http.keep-origin.http.html
index a409f58b..adaed5b5 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer-when-downgrade/worker-module/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer-when-downgrade/worker-module/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer-when-downgrade/worker-module/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer-when-downgrade/worker-module/same-http.no-redirect.http.html
index 80f568b..7f9baa9 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer-when-downgrade/worker-module/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer-when-downgrade/worker-module/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer-when-downgrade/xhr/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer-when-downgrade/xhr/cross-http.keep-origin.http.html
index b56c1d080..23b7d34 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer-when-downgrade/xhr/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer-when-downgrade/xhr/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer-when-downgrade/xhr/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer-when-downgrade/xhr/cross-http.no-redirect.http.html
index c2905e35..09f8edb 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer-when-downgrade/xhr/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer-when-downgrade/xhr/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer-when-downgrade/xhr/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer-when-downgrade/xhr/cross-http.swap-origin.http.html
index ef37a650..ef9d2149 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer-when-downgrade/xhr/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer-when-downgrade/xhr/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer-when-downgrade/xhr/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer-when-downgrade/xhr/cross-https.keep-origin.http.html
index 1dd56497..a2be318d 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer-when-downgrade/xhr/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer-when-downgrade/xhr/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer-when-downgrade/xhr/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer-when-downgrade/xhr/cross-https.no-redirect.http.html
index 455f21a..2f948f1 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer-when-downgrade/xhr/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer-when-downgrade/xhr/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer-when-downgrade/xhr/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer-when-downgrade/xhr/cross-https.swap-origin.http.html
index 3e18a01..c0e66886 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer-when-downgrade/xhr/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer-when-downgrade/xhr/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer-when-downgrade/xhr/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer-when-downgrade/xhr/same-http.keep-origin.http.html
index 1d18b76..3ab9e93 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer-when-downgrade/xhr/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer-when-downgrade/xhr/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer-when-downgrade/xhr/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer-when-downgrade/xhr/same-http.no-redirect.http.html
index e2ff9ac8b..7c4c7ef 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer-when-downgrade/xhr/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer-when-downgrade/xhr/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer-when-downgrade/xhr/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer-when-downgrade/xhr/same-http.swap-origin.http.html
index 8a013ed3..d166e4f6 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer-when-downgrade/xhr/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer-when-downgrade/xhr/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer-when-downgrade/xhr/same-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer-when-downgrade/xhr/same-https.keep-origin.http.html
index 24018eb..a028e91 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer-when-downgrade/xhr/same-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer-when-downgrade/xhr/same-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer-when-downgrade/xhr/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer-when-downgrade/xhr/same-https.no-redirect.http.html
index 1d85bec..3575787 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer-when-downgrade/xhr/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer-when-downgrade/xhr/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer-when-downgrade/xhr/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer-when-downgrade/xhr/same-https.swap-origin.http.html
index 6346b6628..aa633b2 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer-when-downgrade/xhr/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer-when-downgrade/xhr/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer/fetch/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer/fetch/cross-http.keep-origin.http.html
index 6d20528..e86c12f5 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer/fetch/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer/fetch/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer/fetch/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer/fetch/cross-http.no-redirect.http.html
index d5d61b9..88600b10 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer/fetch/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer/fetch/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer/fetch/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer/fetch/cross-http.swap-origin.http.html
index bcc5b71..df3bc91 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer/fetch/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer/fetch/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer/fetch/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer/fetch/cross-https.keep-origin.http.html
index ce32dca4..c9906db 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer/fetch/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer/fetch/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer/fetch/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer/fetch/cross-https.no-redirect.http.html
index 1b25245c..bd793ae 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer/fetch/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer/fetch/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer/fetch/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer/fetch/cross-https.swap-origin.http.html
index b796645..1aa6c92 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer/fetch/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer/fetch/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer/fetch/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer/fetch/same-http.keep-origin.http.html
index 3fba161..0b62a4d 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer/fetch/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer/fetch/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer/fetch/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer/fetch/same-http.no-redirect.http.html
index 61ef726..c4e022b0 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer/fetch/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer/fetch/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer/fetch/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer/fetch/same-http.swap-origin.http.html
index bcb47ea..33dbd3f 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer/fetch/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer/fetch/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer/fetch/same-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer/fetch/same-https.keep-origin.http.html
index 80f99820..cd72129 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer/fetch/same-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer/fetch/same-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer/fetch/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer/fetch/same-https.no-redirect.http.html
index 1fddd37..d3e39b2 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer/fetch/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer/fetch/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer/fetch/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer/fetch/same-https.swap-origin.http.html
index 05c57e51..992381c 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer/fetch/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer/fetch/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer/worker-classic/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer/worker-classic/same-http.keep-origin.http.html
index ac7046b..83e7f88 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer/worker-classic/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer/worker-classic/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer/worker-classic/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer/worker-classic/same-http.no-redirect.http.html
index 7b9475d1..dcd9f19 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer/worker-classic/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer/worker-classic/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer/worker-module/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer/worker-module/same-http.keep-origin.http.html
index ca92181..921e110 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer/worker-module/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer/worker-module/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer/worker-module/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer/worker-module/same-http.no-redirect.http.html
index ab43f41..ea030d9 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer/worker-module/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer/worker-module/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer/xhr/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer/xhr/cross-http.keep-origin.http.html
index d7c2793..31976ea3 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer/xhr/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer/xhr/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer/xhr/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer/xhr/cross-http.no-redirect.http.html
index e5acd92..cf42536 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer/xhr/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer/xhr/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer/xhr/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer/xhr/cross-http.swap-origin.http.html
index e02c2cc..bc8e6e1 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer/xhr/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer/xhr/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer/xhr/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer/xhr/cross-https.keep-origin.http.html
index 7b19f5e..ed7f080 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer/xhr/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer/xhr/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer/xhr/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer/xhr/cross-https.no-redirect.http.html
index da274023..1f3da482 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer/xhr/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer/xhr/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer/xhr/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer/xhr/cross-https.swap-origin.http.html
index d29c409..d32552c 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer/xhr/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer/xhr/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer/xhr/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer/xhr/same-http.keep-origin.http.html
index aba84b4..a495c7f 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer/xhr/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer/xhr/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer/xhr/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer/xhr/same-http.no-redirect.http.html
index e3a716d..3595e62c 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer/xhr/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer/xhr/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer/xhr/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer/xhr/same-http.swap-origin.http.html
index 64e3aac..5af824ea 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer/xhr/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer/xhr/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer/xhr/same-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer/xhr/same-https.keep-origin.http.html
index 47ac8644..876fcbb 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer/xhr/same-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer/xhr/same-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer/xhr/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer/xhr/same-https.no-redirect.http.html
index 9fa82acf..472b8fe 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer/xhr/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer/xhr/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer/xhr/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer/xhr/same-https.swap-origin.http.html
index de5f54a..1ec110c 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer/xhr/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/no-referrer/xhr/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin-when-cross-origin/fetch/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin-when-cross-origin/fetch/cross-http.keep-origin.http.html
index 8729b06..f8018f1 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin-when-cross-origin/fetch/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin-when-cross-origin/fetch/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin-when-cross-origin/fetch/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin-when-cross-origin/fetch/cross-http.no-redirect.http.html
index 51c30f5b..3b168c3 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin-when-cross-origin/fetch/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin-when-cross-origin/fetch/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin-when-cross-origin/fetch/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin-when-cross-origin/fetch/cross-http.swap-origin.http.html
index f2b7d74..014a32b 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin-when-cross-origin/fetch/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin-when-cross-origin/fetch/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin-when-cross-origin/fetch/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin-when-cross-origin/fetch/cross-https.keep-origin.http.html
index aad980d..466255e0 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin-when-cross-origin/fetch/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin-when-cross-origin/fetch/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin-when-cross-origin/fetch/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin-when-cross-origin/fetch/cross-https.no-redirect.http.html
index 3151188..955da21 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin-when-cross-origin/fetch/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin-when-cross-origin/fetch/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin-when-cross-origin/fetch/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin-when-cross-origin/fetch/cross-https.swap-origin.http.html
index 024c17fd3..bda42a5 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin-when-cross-origin/fetch/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin-when-cross-origin/fetch/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin-when-cross-origin/fetch/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin-when-cross-origin/fetch/same-http.keep-origin.http.html
index 8d0d4033..9cc5997d 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin-when-cross-origin/fetch/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin-when-cross-origin/fetch/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin-when-cross-origin/fetch/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin-when-cross-origin/fetch/same-http.no-redirect.http.html
index 59bf06dc..450f215 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin-when-cross-origin/fetch/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin-when-cross-origin/fetch/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin-when-cross-origin/fetch/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin-when-cross-origin/fetch/same-http.swap-origin.http.html
index 53987a6..72457925 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin-when-cross-origin/fetch/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin-when-cross-origin/fetch/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin-when-cross-origin/fetch/same-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin-when-cross-origin/fetch/same-https.keep-origin.http.html
index 25612bb..15dc1ba 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin-when-cross-origin/fetch/same-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin-when-cross-origin/fetch/same-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin-when-cross-origin/fetch/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin-when-cross-origin/fetch/same-https.no-redirect.http.html
index e9b8e78..3f7f91ff 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin-when-cross-origin/fetch/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin-when-cross-origin/fetch/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin-when-cross-origin/fetch/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin-when-cross-origin/fetch/same-https.swap-origin.http.html
index 0e1c1f2..24ed5b1 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin-when-cross-origin/fetch/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin-when-cross-origin/fetch/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html
index c3e972c..f0ff87d 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html
index 425fcc2a6..323c47e 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin-when-cross-origin/worker-module/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin-when-cross-origin/worker-module/same-http.keep-origin.http.html
index 485ac3f..9c45c78 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin-when-cross-origin/worker-module/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin-when-cross-origin/worker-module/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin-when-cross-origin/worker-module/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin-when-cross-origin/worker-module/same-http.no-redirect.http.html
index 5f61a1e..f4a20fe 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin-when-cross-origin/worker-module/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin-when-cross-origin/worker-module/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin-when-cross-origin/xhr/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin-when-cross-origin/xhr/cross-http.keep-origin.http.html
index c3b6543..558d114 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin-when-cross-origin/xhr/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin-when-cross-origin/xhr/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin-when-cross-origin/xhr/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin-when-cross-origin/xhr/cross-http.no-redirect.http.html
index 83f9788..7294a748 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin-when-cross-origin/xhr/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin-when-cross-origin/xhr/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin-when-cross-origin/xhr/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin-when-cross-origin/xhr/cross-http.swap-origin.http.html
index ffcbe9f..3aa1f93 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin-when-cross-origin/xhr/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin-when-cross-origin/xhr/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin-when-cross-origin/xhr/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin-when-cross-origin/xhr/cross-https.keep-origin.http.html
index 59107ab..f6cb8e7e 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin-when-cross-origin/xhr/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin-when-cross-origin/xhr/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin-when-cross-origin/xhr/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin-when-cross-origin/xhr/cross-https.no-redirect.http.html
index a7c13f1..3e5c7010 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin-when-cross-origin/xhr/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin-when-cross-origin/xhr/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin-when-cross-origin/xhr/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin-when-cross-origin/xhr/cross-https.swap-origin.http.html
index 130cdd6c..a5f35f9 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin-when-cross-origin/xhr/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin-when-cross-origin/xhr/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin-when-cross-origin/xhr/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin-when-cross-origin/xhr/same-http.keep-origin.http.html
index 083c2d92..c5f69765 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin-when-cross-origin/xhr/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin-when-cross-origin/xhr/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin-when-cross-origin/xhr/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin-when-cross-origin/xhr/same-http.no-redirect.http.html
index 60d2e541..3878702 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin-when-cross-origin/xhr/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin-when-cross-origin/xhr/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin-when-cross-origin/xhr/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin-when-cross-origin/xhr/same-http.swap-origin.http.html
index 133c1109..802d3d8 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin-when-cross-origin/xhr/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin-when-cross-origin/xhr/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin-when-cross-origin/xhr/same-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin-when-cross-origin/xhr/same-https.keep-origin.http.html
index 888fa14..5c4627a 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin-when-cross-origin/xhr/same-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin-when-cross-origin/xhr/same-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin-when-cross-origin/xhr/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin-when-cross-origin/xhr/same-https.no-redirect.http.html
index be0b849..1437d29 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin-when-cross-origin/xhr/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin-when-cross-origin/xhr/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin-when-cross-origin/xhr/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin-when-cross-origin/xhr/same-https.swap-origin.http.html
index 14595f0..d9e178a 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin-when-cross-origin/xhr/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin-when-cross-origin/xhr/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin/fetch/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin/fetch/cross-http.keep-origin.http.html
index c11ceb3..667b67a 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin/fetch/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin/fetch/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin/fetch/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin/fetch/cross-http.no-redirect.http.html
index 76f970a4..6004118 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin/fetch/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin/fetch/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin/fetch/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin/fetch/cross-http.swap-origin.http.html
index d0ecd1b..c990880 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin/fetch/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin/fetch/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin/fetch/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin/fetch/cross-https.keep-origin.http.html
index 47d2257a..b7bb0e2 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin/fetch/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin/fetch/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin/fetch/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin/fetch/cross-https.no-redirect.http.html
index 3830dd1..024ce73 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin/fetch/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin/fetch/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin/fetch/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin/fetch/cross-https.swap-origin.http.html
index 6884a499..92244ee 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin/fetch/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin/fetch/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin/fetch/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin/fetch/same-http.keep-origin.http.html
index c3060ee..e004df3 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin/fetch/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin/fetch/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin/fetch/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin/fetch/same-http.no-redirect.http.html
index a1f0f83..0796d9b 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin/fetch/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin/fetch/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin/fetch/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin/fetch/same-http.swap-origin.http.html
index 80dd7c3..19523f1 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin/fetch/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin/fetch/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin/fetch/same-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin/fetch/same-https.keep-origin.http.html
index 730e70e..87376d8 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin/fetch/same-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin/fetch/same-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin/fetch/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin/fetch/same-https.no-redirect.http.html
index 0b8c674..eee2bc0 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin/fetch/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin/fetch/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin/fetch/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin/fetch/same-https.swap-origin.http.html
index 545ee908..dd846613 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin/fetch/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin/fetch/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin/worker-classic/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin/worker-classic/same-http.keep-origin.http.html
index 98759fe..b483ea5 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin/worker-classic/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin/worker-classic/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin/worker-classic/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin/worker-classic/same-http.no-redirect.http.html
index 98c0bf6f..740c4ef1 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin/worker-classic/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin/worker-classic/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin/worker-module/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin/worker-module/same-http.keep-origin.http.html
index 295cc97..950aee0 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin/worker-module/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin/worker-module/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin/worker-module/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin/worker-module/same-http.no-redirect.http.html
index a811f6bce..123a021 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin/worker-module/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin/worker-module/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin/xhr/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin/xhr/cross-http.keep-origin.http.html
index 2cd5a5d7..a9c1b27 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin/xhr/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin/xhr/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin/xhr/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin/xhr/cross-http.no-redirect.http.html
index 7e1f552..a76d154 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin/xhr/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin/xhr/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin/xhr/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin/xhr/cross-http.swap-origin.http.html
index be2cb911..27ac462 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin/xhr/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin/xhr/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin/xhr/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin/xhr/cross-https.keep-origin.http.html
index 01b3d81..61c12bd6 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin/xhr/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin/xhr/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin/xhr/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin/xhr/cross-https.no-redirect.http.html
index a3b408f..1b42718b 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin/xhr/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin/xhr/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin/xhr/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin/xhr/cross-https.swap-origin.http.html
index e3f5f93..e1a13c0 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin/xhr/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin/xhr/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin/xhr/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin/xhr/same-http.keep-origin.http.html
index 8301674..04778e6 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin/xhr/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin/xhr/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin/xhr/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin/xhr/same-http.no-redirect.http.html
index 8933c42..750c51d 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin/xhr/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin/xhr/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin/xhr/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin/xhr/same-http.swap-origin.http.html
index 125cbd6..65b1102 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin/xhr/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin/xhr/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin/xhr/same-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin/xhr/same-https.keep-origin.http.html
index 5a37ef3..b4a0c09 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin/xhr/same-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin/xhr/same-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin/xhr/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin/xhr/same-https.no-redirect.http.html
index 4eae1c3..ebaf920 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin/xhr/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin/xhr/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin/xhr/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin/xhr/same-https.swap-origin.http.html
index 6fdeef3..6083f2e 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin/xhr/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/origin/xhr/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/same-origin/fetch/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/same-origin/fetch/cross-http.keep-origin.http.html
index f84e795..5710f50 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/same-origin/fetch/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/same-origin/fetch/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/same-origin/fetch/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/same-origin/fetch/cross-http.no-redirect.http.html
index 25501307..8d77253a 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/same-origin/fetch/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/same-origin/fetch/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/same-origin/fetch/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/same-origin/fetch/cross-http.swap-origin.http.html
index 26345188..ae406680 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/same-origin/fetch/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/same-origin/fetch/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/same-origin/fetch/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/same-origin/fetch/cross-https.keep-origin.http.html
index b37d1750..1da453c 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/same-origin/fetch/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/same-origin/fetch/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/same-origin/fetch/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/same-origin/fetch/cross-https.no-redirect.http.html
index 854ec2f..7910f64 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/same-origin/fetch/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/same-origin/fetch/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/same-origin/fetch/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/same-origin/fetch/cross-https.swap-origin.http.html
index 64d4f20..ef71ae20 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/same-origin/fetch/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/same-origin/fetch/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/same-origin/fetch/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/same-origin/fetch/same-http.keep-origin.http.html
index 88963b3..4421d969 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/same-origin/fetch/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/same-origin/fetch/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/same-origin/fetch/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/same-origin/fetch/same-http.no-redirect.http.html
index ae987334..ed5b109d 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/same-origin/fetch/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/same-origin/fetch/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/same-origin/fetch/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/same-origin/fetch/same-http.swap-origin.http.html
index e95dd4a..5c764018 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/same-origin/fetch/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/same-origin/fetch/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/same-origin/fetch/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/same-origin/fetch/same-https.swap-origin.http.html
index 641e702..4006d3a3 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/same-origin/fetch/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/same-origin/fetch/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/same-origin/worker-classic/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/same-origin/worker-classic/same-http.keep-origin.http.html
index b6b9fb5..f47f723 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/same-origin/worker-classic/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/same-origin/worker-classic/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/same-origin/worker-classic/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/same-origin/worker-classic/same-http.no-redirect.http.html
index a1f8ac2..8de6127a 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/same-origin/worker-classic/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/same-origin/worker-classic/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/same-origin/worker-module/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/same-origin/worker-module/same-http.keep-origin.http.html
index f6ce3e0c..c5755b1 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/same-origin/worker-module/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/same-origin/worker-module/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/same-origin/worker-module/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/same-origin/worker-module/same-http.no-redirect.http.html
index 5d13e00..a296ee2 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/same-origin/worker-module/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/same-origin/worker-module/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/same-origin/xhr/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/same-origin/xhr/cross-http.keep-origin.http.html
index 3ad437d..49cc1a48 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/same-origin/xhr/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/same-origin/xhr/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/same-origin/xhr/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/same-origin/xhr/cross-http.no-redirect.http.html
index 33fcf84..9c7d7eb 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/same-origin/xhr/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/same-origin/xhr/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/same-origin/xhr/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/same-origin/xhr/cross-http.swap-origin.http.html
index 7676486..c466fe5 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/same-origin/xhr/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/same-origin/xhr/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/same-origin/xhr/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/same-origin/xhr/cross-https.keep-origin.http.html
index a81daf7..6247edb 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/same-origin/xhr/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/same-origin/xhr/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/same-origin/xhr/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/same-origin/xhr/cross-https.no-redirect.http.html
index 962b713..dd88f71 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/same-origin/xhr/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/same-origin/xhr/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/same-origin/xhr/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/same-origin/xhr/cross-https.swap-origin.http.html
index 363cbaa9..0c4395a 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/same-origin/xhr/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/same-origin/xhr/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/same-origin/xhr/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/same-origin/xhr/same-http.keep-origin.http.html
index 7c147f2..2d602531 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/same-origin/xhr/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/same-origin/xhr/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/same-origin/xhr/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/same-origin/xhr/same-http.no-redirect.http.html
index d37f669..f91fcc2a 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/same-origin/xhr/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/same-origin/xhr/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/same-origin/xhr/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/same-origin/xhr/same-http.swap-origin.http.html
index ec2fdbd..40b8dec 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/same-origin/xhr/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/same-origin/xhr/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/same-origin/xhr/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/same-origin/xhr/same-https.swap-origin.http.html
index a5cdb2c7..85be91b 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/same-origin/xhr/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/same-origin/xhr/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin-when-cross-origin/fetch/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin-when-cross-origin/fetch/cross-http.keep-origin.http.html
index 765ede6..04f379f 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin-when-cross-origin/fetch/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin-when-cross-origin/fetch/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin-when-cross-origin/fetch/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin-when-cross-origin/fetch/cross-http.no-redirect.http.html
index 684646f7..7768727 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin-when-cross-origin/fetch/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin-when-cross-origin/fetch/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin-when-cross-origin/fetch/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin-when-cross-origin/fetch/cross-http.swap-origin.http.html
index eb5d6982..b26c6cf6 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin-when-cross-origin/fetch/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin-when-cross-origin/fetch/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin-when-cross-origin/fetch/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin-when-cross-origin/fetch/cross-https.keep-origin.http.html
index b85e61b..0ae84da8 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin-when-cross-origin/fetch/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin-when-cross-origin/fetch/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin-when-cross-origin/fetch/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin-when-cross-origin/fetch/cross-https.no-redirect.http.html
index 41dc53d..c4d8f9f 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin-when-cross-origin/fetch/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin-when-cross-origin/fetch/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin-when-cross-origin/fetch/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin-when-cross-origin/fetch/cross-https.swap-origin.http.html
index 939ec19..16396ba 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin-when-cross-origin/fetch/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin-when-cross-origin/fetch/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin-when-cross-origin/fetch/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin-when-cross-origin/fetch/same-http.keep-origin.http.html
index dde5deb..1f652ed 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin-when-cross-origin/fetch/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin-when-cross-origin/fetch/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin-when-cross-origin/fetch/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin-when-cross-origin/fetch/same-http.no-redirect.http.html
index c0de913..7ea765e 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin-when-cross-origin/fetch/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin-when-cross-origin/fetch/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin-when-cross-origin/fetch/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin-when-cross-origin/fetch/same-http.swap-origin.http.html
index ec17260..0c67b6c 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin-when-cross-origin/fetch/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin-when-cross-origin/fetch/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin-when-cross-origin/fetch/same-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin-when-cross-origin/fetch/same-https.keep-origin.http.html
index 7c659e77..adfc4ff 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin-when-cross-origin/fetch/same-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin-when-cross-origin/fetch/same-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin-when-cross-origin/fetch/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin-when-cross-origin/fetch/same-https.no-redirect.http.html
index 9171ad57..4a599c2 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin-when-cross-origin/fetch/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin-when-cross-origin/fetch/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin-when-cross-origin/fetch/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin-when-cross-origin/fetch/same-https.swap-origin.http.html
index 5d1da1b64..0985781 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin-when-cross-origin/fetch/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin-when-cross-origin/fetch/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html
index 0992af8..76849179 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html
index 2b267e4..3af26b1b 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin-when-cross-origin/worker-module/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin-when-cross-origin/worker-module/same-http.keep-origin.http.html
index 5ce50b1..ffb9e11 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin-when-cross-origin/worker-module/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin-when-cross-origin/worker-module/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin-when-cross-origin/worker-module/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin-when-cross-origin/worker-module/same-http.no-redirect.http.html
index 979cfcd..2a84f11 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin-when-cross-origin/worker-module/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin-when-cross-origin/worker-module/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin-when-cross-origin/xhr/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin-when-cross-origin/xhr/cross-http.keep-origin.http.html
index 4a59fb3..3c2c9f9 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin-when-cross-origin/xhr/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin-when-cross-origin/xhr/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin-when-cross-origin/xhr/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin-when-cross-origin/xhr/cross-http.no-redirect.http.html
index 45d520f..191391a 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin-when-cross-origin/xhr/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin-when-cross-origin/xhr/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin-when-cross-origin/xhr/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin-when-cross-origin/xhr/cross-http.swap-origin.http.html
index 8f155d3..027f55e 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin-when-cross-origin/xhr/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin-when-cross-origin/xhr/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin-when-cross-origin/xhr/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin-when-cross-origin/xhr/cross-https.keep-origin.http.html
index c4a36aa..5933a80 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin-when-cross-origin/xhr/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin-when-cross-origin/xhr/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin-when-cross-origin/xhr/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin-when-cross-origin/xhr/cross-https.no-redirect.http.html
index 4580790..9cab9b58 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin-when-cross-origin/xhr/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin-when-cross-origin/xhr/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin-when-cross-origin/xhr/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin-when-cross-origin/xhr/cross-https.swap-origin.http.html
index 99742ad..638a75a 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin-when-cross-origin/xhr/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin-when-cross-origin/xhr/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin-when-cross-origin/xhr/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin-when-cross-origin/xhr/same-http.keep-origin.http.html
index d981738..2d3fd299 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin-when-cross-origin/xhr/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin-when-cross-origin/xhr/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin-when-cross-origin/xhr/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin-when-cross-origin/xhr/same-http.no-redirect.http.html
index be8076d..e5c97576 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin-when-cross-origin/xhr/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin-when-cross-origin/xhr/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin-when-cross-origin/xhr/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin-when-cross-origin/xhr/same-http.swap-origin.http.html
index 55063e33..3d7ce707 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin-when-cross-origin/xhr/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin-when-cross-origin/xhr/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin-when-cross-origin/xhr/same-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin-when-cross-origin/xhr/same-https.keep-origin.http.html
index a164d3c..1e56cc4e 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin-when-cross-origin/xhr/same-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin-when-cross-origin/xhr/same-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin-when-cross-origin/xhr/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin-when-cross-origin/xhr/same-https.no-redirect.http.html
index e9383d0..c057078c8 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin-when-cross-origin/xhr/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin-when-cross-origin/xhr/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin-when-cross-origin/xhr/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin-when-cross-origin/xhr/same-https.swap-origin.http.html
index 3b3459d2..738db2d 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin-when-cross-origin/xhr/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin-when-cross-origin/xhr/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin/fetch/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin/fetch/cross-http.keep-origin.http.html
index c791d7c6c..3c4fb90 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin/fetch/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin/fetch/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin/fetch/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin/fetch/cross-http.no-redirect.http.html
index 948e77c2..c5de377 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin/fetch/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin/fetch/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin/fetch/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin/fetch/cross-http.swap-origin.http.html
index dfc46bb..65c20b01 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin/fetch/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin/fetch/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin/fetch/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin/fetch/cross-https.keep-origin.http.html
index 45e35de3..c073bf1 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin/fetch/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin/fetch/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin/fetch/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin/fetch/cross-https.no-redirect.http.html
index 959c118..98c60e9 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin/fetch/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin/fetch/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin/fetch/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin/fetch/cross-https.swap-origin.http.html
index 943d9e9..fbf79f0c 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin/fetch/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin/fetch/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin/fetch/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin/fetch/same-http.keep-origin.http.html
index 7a07ea6..18d4d66 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin/fetch/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin/fetch/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin/fetch/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin/fetch/same-http.no-redirect.http.html
index 441378d..80ce516 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin/fetch/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin/fetch/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin/fetch/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin/fetch/same-http.swap-origin.http.html
index e370555..f594282 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin/fetch/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin/fetch/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin/fetch/same-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin/fetch/same-https.keep-origin.http.html
index 529f511..ce992d7 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin/fetch/same-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin/fetch/same-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin/fetch/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin/fetch/same-https.no-redirect.http.html
index 1f0a940..884a098 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin/fetch/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin/fetch/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin/fetch/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin/fetch/same-https.swap-origin.http.html
index 8a0b1e2..f433eae 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin/fetch/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin/fetch/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin/worker-classic/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin/worker-classic/same-http.keep-origin.http.html
index a34370b..508ee25c 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin/worker-classic/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin/worker-classic/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin/worker-classic/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin/worker-classic/same-http.no-redirect.http.html
index 9433fd3..f67f753 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin/worker-classic/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin/worker-classic/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin/worker-module/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin/worker-module/same-http.keep-origin.http.html
index 20fd1ce..fd6190e 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin/worker-module/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin/worker-module/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin/worker-module/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin/worker-module/same-http.no-redirect.http.html
index e1bb290..cb6a390 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin/worker-module/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin/worker-module/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin/xhr/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin/xhr/cross-http.keep-origin.http.html
index 4ad132b1..688ebe2 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin/xhr/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin/xhr/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin/xhr/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin/xhr/cross-http.no-redirect.http.html
index d86f49f6..9a07afd 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin/xhr/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin/xhr/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin/xhr/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin/xhr/cross-http.swap-origin.http.html
index a341a0d6..283eec4 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin/xhr/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin/xhr/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin/xhr/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin/xhr/cross-https.keep-origin.http.html
index a786991..5eac4de 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin/xhr/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin/xhr/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin/xhr/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin/xhr/cross-https.no-redirect.http.html
index 28c92ff..ef0a65d 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin/xhr/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin/xhr/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin/xhr/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin/xhr/cross-https.swap-origin.http.html
index 62df9999..9d78e443 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin/xhr/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin/xhr/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin/xhr/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin/xhr/same-http.keep-origin.http.html
index bc93d87..721e69e 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin/xhr/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin/xhr/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin/xhr/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin/xhr/same-http.no-redirect.http.html
index ef8eca3..cd0a701 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin/xhr/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin/xhr/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin/xhr/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin/xhr/same-http.swap-origin.http.html
index 94dbe39..44afa347 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin/xhr/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin/xhr/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin/xhr/same-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin/xhr/same-https.keep-origin.http.html
index b6347dee..0dbe478 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin/xhr/same-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin/xhr/same-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin/xhr/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin/xhr/same-https.no-redirect.http.html
index 69c9db4e..3890783 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin/xhr/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin/xhr/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin/xhr/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin/xhr/same-https.swap-origin.http.html
index b4ea52d9..3490ec9 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin/xhr/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/strict-origin/xhr/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unsafe-url/fetch/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unsafe-url/fetch/cross-http.keep-origin.http.html
index 89ec238f..44ebb43 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unsafe-url/fetch/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unsafe-url/fetch/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unsafe-url/fetch/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unsafe-url/fetch/cross-http.no-redirect.http.html
index 487db06f..c1da7df 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unsafe-url/fetch/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unsafe-url/fetch/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unsafe-url/fetch/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unsafe-url/fetch/cross-http.swap-origin.http.html
index 52febb51..f68347b 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unsafe-url/fetch/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unsafe-url/fetch/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unsafe-url/fetch/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unsafe-url/fetch/cross-https.keep-origin.http.html
index 1a33205..a996d9b6 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unsafe-url/fetch/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unsafe-url/fetch/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unsafe-url/fetch/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unsafe-url/fetch/cross-https.no-redirect.http.html
index 9cda36a..e8c55b6 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unsafe-url/fetch/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unsafe-url/fetch/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unsafe-url/fetch/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unsafe-url/fetch/cross-https.swap-origin.http.html
index c0686a0d..1bae656 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unsafe-url/fetch/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unsafe-url/fetch/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unsafe-url/fetch/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unsafe-url/fetch/same-http.keep-origin.http.html
index 001f13c..e5cf65e 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unsafe-url/fetch/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unsafe-url/fetch/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unsafe-url/fetch/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unsafe-url/fetch/same-http.no-redirect.http.html
index 3e87e65..9a797213 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unsafe-url/fetch/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unsafe-url/fetch/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unsafe-url/fetch/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unsafe-url/fetch/same-http.swap-origin.http.html
index 9c00a33..46d7ebf 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unsafe-url/fetch/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unsafe-url/fetch/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unsafe-url/fetch/same-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unsafe-url/fetch/same-https.keep-origin.http.html
index e61756c1..6ec2a50 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unsafe-url/fetch/same-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unsafe-url/fetch/same-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unsafe-url/fetch/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unsafe-url/fetch/same-https.no-redirect.http.html
index 5d66b22..b672a1ef 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unsafe-url/fetch/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unsafe-url/fetch/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unsafe-url/fetch/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unsafe-url/fetch/same-https.swap-origin.http.html
index 1d3323c..8f87bd9 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unsafe-url/fetch/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unsafe-url/fetch/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unsafe-url/worker-classic/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unsafe-url/worker-classic/same-http.keep-origin.http.html
index 2399335..45454951 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unsafe-url/worker-classic/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unsafe-url/worker-classic/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unsafe-url/worker-classic/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unsafe-url/worker-classic/same-http.no-redirect.http.html
index 24487e5..765bf8cd 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unsafe-url/worker-classic/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unsafe-url/worker-classic/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unsafe-url/worker-module/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unsafe-url/worker-module/same-http.keep-origin.http.html
index 73f210c..de8e1c94 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unsafe-url/worker-module/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unsafe-url/worker-module/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unsafe-url/worker-module/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unsafe-url/worker-module/same-http.no-redirect.http.html
index 3515661e..c518301 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unsafe-url/worker-module/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unsafe-url/worker-module/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unsafe-url/xhr/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unsafe-url/xhr/cross-http.keep-origin.http.html
index 8752e76..ffd46b8 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unsafe-url/xhr/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unsafe-url/xhr/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unsafe-url/xhr/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unsafe-url/xhr/cross-http.no-redirect.http.html
index c9f944a..6b8bff5 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unsafe-url/xhr/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unsafe-url/xhr/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unsafe-url/xhr/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unsafe-url/xhr/cross-http.swap-origin.http.html
index 63a65114f..43c5ea6 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unsafe-url/xhr/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unsafe-url/xhr/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unsafe-url/xhr/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unsafe-url/xhr/cross-https.keep-origin.http.html
index 2525bc4e..5e349917 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unsafe-url/xhr/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unsafe-url/xhr/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unsafe-url/xhr/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unsafe-url/xhr/cross-https.no-redirect.http.html
index 0ba222a..2eaa6b0 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unsafe-url/xhr/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unsafe-url/xhr/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unsafe-url/xhr/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unsafe-url/xhr/cross-https.swap-origin.http.html
index d3ab30b3..d3e0009 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unsafe-url/xhr/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unsafe-url/xhr/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unsafe-url/xhr/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unsafe-url/xhr/same-http.keep-origin.http.html
index ac870d7..62d3310 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unsafe-url/xhr/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unsafe-url/xhr/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unsafe-url/xhr/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unsafe-url/xhr/same-http.no-redirect.http.html
index a054d11..afa85368 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unsafe-url/xhr/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unsafe-url/xhr/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unsafe-url/xhr/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unsafe-url/xhr/same-http.swap-origin.http.html
index 83ed6ea..20b64aae 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unsafe-url/xhr/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unsafe-url/xhr/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unsafe-url/xhr/same-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unsafe-url/xhr/same-https.keep-origin.http.html
index abba400..38ee3daf 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unsafe-url/xhr/same-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unsafe-url/xhr/same-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unsafe-url/xhr/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unsafe-url/xhr/same-https.no-redirect.http.html
index c93f5fa..7073cc9 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unsafe-url/xhr/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unsafe-url/xhr/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unsafe-url/xhr/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unsafe-url/xhr/same-https.swap-origin.http.html
index e5ddfe10..3b9234a 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unsafe-url/xhr/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unsafe-url/xhr/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unset/fetch/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unset/fetch/cross-http.keep-origin.http.html
index f87c439..96c42a63 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unset/fetch/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unset/fetch/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unset/fetch/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unset/fetch/cross-http.no-redirect.http.html
index 2e25529..57056d6 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unset/fetch/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unset/fetch/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unset/fetch/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unset/fetch/cross-http.swap-origin.http.html
index aa74648..f71edf3 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unset/fetch/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unset/fetch/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unset/fetch/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unset/fetch/cross-https.keep-origin.http.html
index a8a0968a..89c3cfa1 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unset/fetch/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unset/fetch/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unset/fetch/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unset/fetch/cross-https.no-redirect.http.html
index 78e5de9..b076b216 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unset/fetch/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unset/fetch/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unset/fetch/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unset/fetch/cross-https.swap-origin.http.html
index e3cb0f0..9740934 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unset/fetch/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unset/fetch/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unset/fetch/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unset/fetch/same-http.keep-origin.http.html
index 8c615d2..04d5dfb 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unset/fetch/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unset/fetch/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unset/fetch/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unset/fetch/same-http.no-redirect.http.html
index 5ef349eb5..edbf6e6 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unset/fetch/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unset/fetch/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unset/fetch/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unset/fetch/same-http.swap-origin.http.html
index 84e6b53..c84127d 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unset/fetch/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unset/fetch/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unset/fetch/same-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unset/fetch/same-https.keep-origin.http.html
index 9721da9..8ecf867a 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unset/fetch/same-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unset/fetch/same-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unset/fetch/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unset/fetch/same-https.no-redirect.http.html
index 99ea345..c0e540c6 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unset/fetch/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unset/fetch/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unset/fetch/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unset/fetch/same-https.swap-origin.http.html
index 81fb2f5..f6177e7 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unset/fetch/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unset/fetch/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unset/worker-classic/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unset/worker-classic/same-http.keep-origin.http.html
index ace5fcb..07bb67b 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unset/worker-classic/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unset/worker-classic/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unset/worker-classic/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unset/worker-classic/same-http.no-redirect.http.html
index f6ad260..48e9208 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unset/worker-classic/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unset/worker-classic/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unset/worker-module/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unset/worker-module/same-http.keep-origin.http.html
index 7dff9a4a..3ca8ef7 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unset/worker-module/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unset/worker-module/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unset/worker-module/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unset/worker-module/same-http.no-redirect.http.html
index d2f60a9..05c9512 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unset/worker-module/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unset/worker-module/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unset/xhr/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unset/xhr/cross-http.keep-origin.http.html
index 46ced07..f20c066 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unset/xhr/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unset/xhr/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unset/xhr/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unset/xhr/cross-http.no-redirect.http.html
index e1b9e68..1a8f13e 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unset/xhr/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unset/xhr/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unset/xhr/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unset/xhr/cross-http.swap-origin.http.html
index 7da4e2c..acb564d 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unset/xhr/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unset/xhr/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unset/xhr/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unset/xhr/cross-https.keep-origin.http.html
index 80c598e..18d15bc 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unset/xhr/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unset/xhr/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unset/xhr/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unset/xhr/cross-https.no-redirect.http.html
index 595132c..0b5adda 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unset/xhr/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unset/xhr/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unset/xhr/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unset/xhr/cross-https.swap-origin.http.html
index 37f034b..b1d04d2 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unset/xhr/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unset/xhr/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unset/xhr/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unset/xhr/same-http.keep-origin.http.html
index 19d4ef2..8ecd583 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unset/xhr/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unset/xhr/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unset/xhr/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unset/xhr/same-http.no-redirect.http.html
index 98c4f7a1..dd428f7 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unset/xhr/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unset/xhr/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unset/xhr/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unset/xhr/same-http.swap-origin.http.html
index 00d79fe..c34a627 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unset/xhr/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unset/xhr/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unset/xhr/same-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unset/xhr/same-https.keep-origin.http.html
index 7d7d06d8..99db6c4 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unset/xhr/same-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unset/xhr/same-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unset/xhr/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unset/xhr/same-https.no-redirect.http.html
index 7c71974..92217409 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unset/xhr/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unset/xhr/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unset/xhr/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unset/xhr/same-https.swap-origin.http.html
index 6cf8f04..fcd2af59 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unset/xhr/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-classic.http-rp/unset/xhr/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer-when-downgrade/fetch/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer-when-downgrade/fetch/cross-http.keep-origin.http.html
index 818733c..b3ea18b 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer-when-downgrade/fetch/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer-when-downgrade/fetch/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer-when-downgrade/fetch/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer-when-downgrade/fetch/cross-http.no-redirect.http.html
index 3dc64f4..7f6edc91 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer-when-downgrade/fetch/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer-when-downgrade/fetch/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer-when-downgrade/fetch/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer-when-downgrade/fetch/cross-http.swap-origin.http.html
index 663d39d..61b7268 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer-when-downgrade/fetch/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer-when-downgrade/fetch/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer-when-downgrade/fetch/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer-when-downgrade/fetch/cross-https.keep-origin.http.html
index edcb9c2d..072d94f9e 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer-when-downgrade/fetch/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer-when-downgrade/fetch/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer-when-downgrade/fetch/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer-when-downgrade/fetch/cross-https.no-redirect.http.html
index 788f96c..d8eceb3 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer-when-downgrade/fetch/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer-when-downgrade/fetch/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer-when-downgrade/fetch/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer-when-downgrade/fetch/cross-https.swap-origin.http.html
index 46ad1a3..b329b335 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer-when-downgrade/fetch/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer-when-downgrade/fetch/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer-when-downgrade/fetch/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer-when-downgrade/fetch/same-http.keep-origin.http.html
index 520b9fc..fa23f72 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer-when-downgrade/fetch/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer-when-downgrade/fetch/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer-when-downgrade/fetch/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer-when-downgrade/fetch/same-http.no-redirect.http.html
index 735926a..30a0b86 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer-when-downgrade/fetch/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer-when-downgrade/fetch/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer-when-downgrade/fetch/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer-when-downgrade/fetch/same-http.swap-origin.http.html
index 26f2ba7..aa407cc 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer-when-downgrade/fetch/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer-when-downgrade/fetch/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer-when-downgrade/fetch/same-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer-when-downgrade/fetch/same-https.keep-origin.http.html
index 8f814ba..7710fd8 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer-when-downgrade/fetch/same-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer-when-downgrade/fetch/same-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer-when-downgrade/fetch/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer-when-downgrade/fetch/same-https.no-redirect.http.html
index cbd9e020..f1d54a4 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer-when-downgrade/fetch/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer-when-downgrade/fetch/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer-when-downgrade/fetch/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer-when-downgrade/fetch/same-https.swap-origin.http.html
index a411ffc..0dc6271 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer-when-downgrade/fetch/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer-when-downgrade/fetch/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer-when-downgrade/worker-classic/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer-when-downgrade/worker-classic/same-http.keep-origin.http.html
index a064bad..2a87dc1 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer-when-downgrade/worker-classic/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer-when-downgrade/worker-classic/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer-when-downgrade/worker-classic/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer-when-downgrade/worker-classic/same-http.no-redirect.http.html
index cdbd2b0..292fdd1 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer-when-downgrade/worker-classic/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer-when-downgrade/worker-classic/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer-when-downgrade/worker-module/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer-when-downgrade/worker-module/same-http.keep-origin.http.html
index a7b653e..ab95968 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer-when-downgrade/worker-module/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer-when-downgrade/worker-module/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer-when-downgrade/worker-module/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer-when-downgrade/worker-module/same-http.no-redirect.http.html
index 54005944..a5cba23 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer-when-downgrade/worker-module/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer-when-downgrade/worker-module/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer-when-downgrade/xhr/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer-when-downgrade/xhr/cross-http.keep-origin.http.html
index ffa89614..add8b64 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer-when-downgrade/xhr/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer-when-downgrade/xhr/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer-when-downgrade/xhr/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer-when-downgrade/xhr/cross-http.no-redirect.http.html
index c18106c0..400756b 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer-when-downgrade/xhr/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer-when-downgrade/xhr/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer-when-downgrade/xhr/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer-when-downgrade/xhr/cross-http.swap-origin.http.html
index d9b5ea94..42e1681 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer-when-downgrade/xhr/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer-when-downgrade/xhr/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer-when-downgrade/xhr/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer-when-downgrade/xhr/cross-https.keep-origin.http.html
index c6fd0f1..e9a77eb 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer-when-downgrade/xhr/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer-when-downgrade/xhr/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer-when-downgrade/xhr/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer-when-downgrade/xhr/cross-https.no-redirect.http.html
index 66f8ea9..3e3810e 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer-when-downgrade/xhr/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer-when-downgrade/xhr/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer-when-downgrade/xhr/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer-when-downgrade/xhr/cross-https.swap-origin.http.html
index c6e23f85..423b238 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer-when-downgrade/xhr/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer-when-downgrade/xhr/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer-when-downgrade/xhr/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer-when-downgrade/xhr/same-http.keep-origin.http.html
index b6822c58..17433da 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer-when-downgrade/xhr/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer-when-downgrade/xhr/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer-when-downgrade/xhr/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer-when-downgrade/xhr/same-http.no-redirect.http.html
index 6ee9252..9cec405 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer-when-downgrade/xhr/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer-when-downgrade/xhr/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer-when-downgrade/xhr/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer-when-downgrade/xhr/same-http.swap-origin.http.html
index ea57e8e3..04d58fa 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer-when-downgrade/xhr/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer-when-downgrade/xhr/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer-when-downgrade/xhr/same-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer-when-downgrade/xhr/same-https.keep-origin.http.html
index edf7ef0..a3435a9 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer-when-downgrade/xhr/same-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer-when-downgrade/xhr/same-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer-when-downgrade/xhr/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer-when-downgrade/xhr/same-https.no-redirect.http.html
index 51c6ebbe..ec006ea 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer-when-downgrade/xhr/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer-when-downgrade/xhr/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer-when-downgrade/xhr/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer-when-downgrade/xhr/same-https.swap-origin.http.html
index c75fa94..d9ba51a 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer-when-downgrade/xhr/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer-when-downgrade/xhr/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer-when-downgrade'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer/fetch/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer/fetch/cross-http.keep-origin.http.html
index d6875a5e..611f331 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer/fetch/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer/fetch/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer/fetch/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer/fetch/cross-http.no-redirect.http.html
index a7a9256..d04e501 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer/fetch/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer/fetch/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer/fetch/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer/fetch/cross-http.swap-origin.http.html
index 2d8ae31..193d0d7 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer/fetch/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer/fetch/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer/fetch/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer/fetch/cross-https.keep-origin.http.html
index a62b8e8..517274e 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer/fetch/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer/fetch/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer/fetch/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer/fetch/cross-https.no-redirect.http.html
index 6ba5d75..89f9163 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer/fetch/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer/fetch/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer/fetch/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer/fetch/cross-https.swap-origin.http.html
index 54e03e8..15b0578 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer/fetch/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer/fetch/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer/fetch/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer/fetch/same-http.keep-origin.http.html
index f72e858..82910461 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer/fetch/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer/fetch/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer/fetch/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer/fetch/same-http.no-redirect.http.html
index 9c2722b..67d5422 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer/fetch/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer/fetch/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer/fetch/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer/fetch/same-http.swap-origin.http.html
index 88e6e58..d7e2dfb 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer/fetch/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer/fetch/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer/fetch/same-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer/fetch/same-https.keep-origin.http.html
index 373d60b..bf18145 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer/fetch/same-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer/fetch/same-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer/fetch/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer/fetch/same-https.no-redirect.http.html
index 3be6f3d..bf48e75 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer/fetch/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer/fetch/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer/fetch/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer/fetch/same-https.swap-origin.http.html
index 9963495..e3ffc84 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer/fetch/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer/fetch/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer/worker-classic/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer/worker-classic/same-http.keep-origin.http.html
index c0bbd9e..d2edb3d 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer/worker-classic/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer/worker-classic/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer/worker-classic/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer/worker-classic/same-http.no-redirect.http.html
index 710d8c9d8..ce3870f 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer/worker-classic/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer/worker-classic/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer/worker-module/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer/worker-module/same-http.keep-origin.http.html
index 46a77fc..23c0dfeb 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer/worker-module/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer/worker-module/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer/worker-module/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer/worker-module/same-http.no-redirect.http.html
index f7a98d2..c58ad5f 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer/worker-module/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer/worker-module/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer/xhr/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer/xhr/cross-http.keep-origin.http.html
index 7b0b513f..82f55e0 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer/xhr/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer/xhr/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer/xhr/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer/xhr/cross-http.no-redirect.http.html
index a438352..d69ade0 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer/xhr/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer/xhr/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer/xhr/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer/xhr/cross-http.swap-origin.http.html
index e51a308..b0de756 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer/xhr/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer/xhr/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer/xhr/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer/xhr/cross-https.keep-origin.http.html
index ad2ce3f..7d650f00 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer/xhr/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer/xhr/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer/xhr/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer/xhr/cross-https.no-redirect.http.html
index 3885092..df7182c5 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer/xhr/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer/xhr/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer/xhr/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer/xhr/cross-https.swap-origin.http.html
index 48a868c..cb374d6 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer/xhr/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer/xhr/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer/xhr/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer/xhr/same-http.keep-origin.http.html
index 2880de6..f8404a2 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer/xhr/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer/xhr/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer/xhr/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer/xhr/same-http.no-redirect.http.html
index 03b819f..6dc3647 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer/xhr/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer/xhr/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer/xhr/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer/xhr/same-http.swap-origin.http.html
index dd35c86..173c27e 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer/xhr/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer/xhr/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer/xhr/same-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer/xhr/same-https.keep-origin.http.html
index 0b67779..4b3dd0fa 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer/xhr/same-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer/xhr/same-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer/xhr/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer/xhr/same-https.no-redirect.http.html
index c52972d..1ce6da3 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer/xhr/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer/xhr/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer/xhr/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer/xhr/same-https.swap-origin.http.html
index 5ea2c27..8cc3e20 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer/xhr/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/no-referrer/xhr/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'no-referrer'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin-when-cross-origin/fetch/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin-when-cross-origin/fetch/cross-http.keep-origin.http.html
index 5156daea..ab119e2d 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin-when-cross-origin/fetch/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin-when-cross-origin/fetch/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin-when-cross-origin/fetch/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin-when-cross-origin/fetch/cross-http.no-redirect.http.html
index f909452..084097e 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin-when-cross-origin/fetch/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin-when-cross-origin/fetch/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin-when-cross-origin/fetch/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin-when-cross-origin/fetch/cross-http.swap-origin.http.html
index c99cb5b..b9b4829 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin-when-cross-origin/fetch/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin-when-cross-origin/fetch/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin-when-cross-origin/fetch/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin-when-cross-origin/fetch/cross-https.keep-origin.http.html
index e063175..7aff19a 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin-when-cross-origin/fetch/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin-when-cross-origin/fetch/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin-when-cross-origin/fetch/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin-when-cross-origin/fetch/cross-https.no-redirect.http.html
index 32008cca..86bc9d2a 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin-when-cross-origin/fetch/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin-when-cross-origin/fetch/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin-when-cross-origin/fetch/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin-when-cross-origin/fetch/cross-https.swap-origin.http.html
index 668e3561..2f0325f 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin-when-cross-origin/fetch/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin-when-cross-origin/fetch/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin-when-cross-origin/fetch/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin-when-cross-origin/fetch/same-http.keep-origin.http.html
index 227b5137..7c01039 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin-when-cross-origin/fetch/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin-when-cross-origin/fetch/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin-when-cross-origin/fetch/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin-when-cross-origin/fetch/same-http.no-redirect.http.html
index aad87e78..f1a8981 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin-when-cross-origin/fetch/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin-when-cross-origin/fetch/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin-when-cross-origin/fetch/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin-when-cross-origin/fetch/same-http.swap-origin.http.html
index 520522a..058f6cc6 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin-when-cross-origin/fetch/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin-when-cross-origin/fetch/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin-when-cross-origin/fetch/same-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin-when-cross-origin/fetch/same-https.keep-origin.http.html
index 8e1c6e6..8eac07f 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin-when-cross-origin/fetch/same-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin-when-cross-origin/fetch/same-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin-when-cross-origin/fetch/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin-when-cross-origin/fetch/same-https.no-redirect.http.html
index 13ef33f..ad64aaa 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin-when-cross-origin/fetch/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin-when-cross-origin/fetch/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin-when-cross-origin/fetch/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin-when-cross-origin/fetch/same-https.swap-origin.http.html
index 5234b75..0e7e7a8 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin-when-cross-origin/fetch/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin-when-cross-origin/fetch/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html
index 5389588..be009048 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html
index 2a7fde0..42837199 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin-when-cross-origin/worker-module/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin-when-cross-origin/worker-module/same-http.keep-origin.http.html
index ad13fbe5..acddfc44 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin-when-cross-origin/worker-module/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin-when-cross-origin/worker-module/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin-when-cross-origin/worker-module/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin-when-cross-origin/worker-module/same-http.no-redirect.http.html
index c67005d..192ea475 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin-when-cross-origin/worker-module/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin-when-cross-origin/worker-module/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin-when-cross-origin/xhr/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin-when-cross-origin/xhr/cross-http.keep-origin.http.html
index c85d240..cedfee0 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin-when-cross-origin/xhr/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin-when-cross-origin/xhr/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin-when-cross-origin/xhr/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin-when-cross-origin/xhr/cross-http.no-redirect.http.html
index 5c09631..81c1446 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin-when-cross-origin/xhr/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin-when-cross-origin/xhr/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin-when-cross-origin/xhr/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin-when-cross-origin/xhr/cross-http.swap-origin.http.html
index eedc489..ae67981 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin-when-cross-origin/xhr/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin-when-cross-origin/xhr/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin-when-cross-origin/xhr/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin-when-cross-origin/xhr/cross-https.keep-origin.http.html
index 5bb6cb6f..e514630 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin-when-cross-origin/xhr/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin-when-cross-origin/xhr/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin-when-cross-origin/xhr/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin-when-cross-origin/xhr/cross-https.no-redirect.http.html
index bb391df..8b33dfc9 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin-when-cross-origin/xhr/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin-when-cross-origin/xhr/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin-when-cross-origin/xhr/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin-when-cross-origin/xhr/cross-https.swap-origin.http.html
index 6201cfc..75e60476 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin-when-cross-origin/xhr/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin-when-cross-origin/xhr/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin-when-cross-origin/xhr/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin-when-cross-origin/xhr/same-http.keep-origin.http.html
index c1168e1..442ea6e 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin-when-cross-origin/xhr/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin-when-cross-origin/xhr/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin-when-cross-origin/xhr/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin-when-cross-origin/xhr/same-http.no-redirect.http.html
index dcd18e9..a96bb634 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin-when-cross-origin/xhr/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin-when-cross-origin/xhr/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin-when-cross-origin/xhr/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin-when-cross-origin/xhr/same-http.swap-origin.http.html
index 947e464..b7311f6 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin-when-cross-origin/xhr/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin-when-cross-origin/xhr/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin-when-cross-origin/xhr/same-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin-when-cross-origin/xhr/same-https.keep-origin.http.html
index 58499fd..c08aa61 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin-when-cross-origin/xhr/same-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin-when-cross-origin/xhr/same-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin-when-cross-origin/xhr/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin-when-cross-origin/xhr/same-https.no-redirect.http.html
index 6a8b94b..abbafe3 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin-when-cross-origin/xhr/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin-when-cross-origin/xhr/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin-when-cross-origin/xhr/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin-when-cross-origin/xhr/same-https.swap-origin.http.html
index 761e211..8bed094 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin-when-cross-origin/xhr/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin-when-cross-origin/xhr/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin/fetch/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin/fetch/cross-http.keep-origin.http.html
index da5ab1d..48ace14 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin/fetch/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin/fetch/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin/fetch/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin/fetch/cross-http.no-redirect.http.html
index 5ea1861..eea1c9d 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin/fetch/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin/fetch/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin/fetch/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin/fetch/cross-http.swap-origin.http.html
index e98531f..1ac01f95 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin/fetch/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin/fetch/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin/fetch/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin/fetch/cross-https.keep-origin.http.html
index 7cdfdf0..72ffa49 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin/fetch/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin/fetch/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin/fetch/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin/fetch/cross-https.no-redirect.http.html
index 3e82999..4cc4e6ae 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin/fetch/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin/fetch/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin/fetch/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin/fetch/cross-https.swap-origin.http.html
index 82cdb9e..20aab6e8 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin/fetch/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin/fetch/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin/fetch/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin/fetch/same-http.keep-origin.http.html
index 83b5aa77..730161b 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin/fetch/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin/fetch/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin/fetch/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin/fetch/same-http.no-redirect.http.html
index 0e10655..06900b9 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin/fetch/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin/fetch/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin/fetch/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin/fetch/same-http.swap-origin.http.html
index 626ec6f8..3bd3ffff 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin/fetch/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin/fetch/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin/fetch/same-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin/fetch/same-https.keep-origin.http.html
index 1d33553..03342b5 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin/fetch/same-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin/fetch/same-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin/fetch/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin/fetch/same-https.no-redirect.http.html
index b14a0eb..0b95369 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin/fetch/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin/fetch/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin/fetch/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin/fetch/same-https.swap-origin.http.html
index 3479de2..fa7bcb6 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin/fetch/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin/fetch/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin/worker-classic/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin/worker-classic/same-http.keep-origin.http.html
index 5f8779f1..c68a111 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin/worker-classic/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin/worker-classic/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin/worker-classic/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin/worker-classic/same-http.no-redirect.http.html
index 1efca23..35c7d72 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin/worker-classic/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin/worker-classic/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin/worker-module/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin/worker-module/same-http.keep-origin.http.html
index c550918..639239a 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin/worker-module/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin/worker-module/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin/worker-module/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin/worker-module/same-http.no-redirect.http.html
index 2e6db609..cafc59a 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin/worker-module/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin/worker-module/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin/xhr/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin/xhr/cross-http.keep-origin.http.html
index cb85c95..b3520eb 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin/xhr/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin/xhr/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin/xhr/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin/xhr/cross-http.no-redirect.http.html
index c0fc6ec..60cc2cc 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin/xhr/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin/xhr/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin/xhr/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin/xhr/cross-http.swap-origin.http.html
index a76d66e..df80d9d3 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin/xhr/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin/xhr/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin/xhr/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin/xhr/cross-https.keep-origin.http.html
index 7cfdfdd..dc270ea2 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin/xhr/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin/xhr/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin/xhr/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin/xhr/cross-https.no-redirect.http.html
index d7312ca7..ac7521db 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin/xhr/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin/xhr/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin/xhr/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin/xhr/cross-https.swap-origin.http.html
index 72625cf..a51a6d6d 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin/xhr/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin/xhr/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin/xhr/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin/xhr/same-http.keep-origin.http.html
index d918d1c..ee10efe 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin/xhr/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin/xhr/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin/xhr/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin/xhr/same-http.no-redirect.http.html
index b72a394..3e735529 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin/xhr/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin/xhr/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin/xhr/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin/xhr/same-http.swap-origin.http.html
index 3a9a57d..e57c29d 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin/xhr/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin/xhr/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin/xhr/same-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin/xhr/same-https.keep-origin.http.html
index 752fd6f..10db4cb6 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin/xhr/same-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin/xhr/same-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin/xhr/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin/xhr/same-https.no-redirect.http.html
index 0d92619..e065fd47 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin/xhr/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin/xhr/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin/xhr/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin/xhr/same-https.swap-origin.http.html
index 9c6df19..7b9230b 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin/xhr/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/origin/xhr/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/same-origin/fetch/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/same-origin/fetch/cross-http.keep-origin.http.html
index fe46bfb1..c763135 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/same-origin/fetch/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/same-origin/fetch/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/same-origin/fetch/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/same-origin/fetch/cross-http.no-redirect.http.html
index 941e3cf..6014e39a 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/same-origin/fetch/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/same-origin/fetch/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/same-origin/fetch/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/same-origin/fetch/cross-http.swap-origin.http.html
index d835bb8..cba952c 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/same-origin/fetch/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/same-origin/fetch/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/same-origin/fetch/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/same-origin/fetch/cross-https.keep-origin.http.html
index ce3cc47..b896713 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/same-origin/fetch/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/same-origin/fetch/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/same-origin/fetch/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/same-origin/fetch/cross-https.no-redirect.http.html
index 970aa8a..9a20a5f 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/same-origin/fetch/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/same-origin/fetch/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/same-origin/fetch/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/same-origin/fetch/cross-https.swap-origin.http.html
index ef337b7..2beb5b80 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/same-origin/fetch/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/same-origin/fetch/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/same-origin/fetch/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/same-origin/fetch/same-http.keep-origin.http.html
index 3c45ca8..f525d19 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/same-origin/fetch/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/same-origin/fetch/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/same-origin/fetch/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/same-origin/fetch/same-http.no-redirect.http.html
index 23932cd..a9f0e1b6c 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/same-origin/fetch/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/same-origin/fetch/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/same-origin/fetch/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/same-origin/fetch/same-http.swap-origin.http.html
index 88df9f9..af2f654 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/same-origin/fetch/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/same-origin/fetch/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/same-origin/fetch/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/same-origin/fetch/same-https.swap-origin.http.html
index e275575..9f46518 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/same-origin/fetch/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/same-origin/fetch/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/same-origin/worker-classic/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/same-origin/worker-classic/same-http.keep-origin.http.html
index ca664f3c2..fa79573 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/same-origin/worker-classic/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/same-origin/worker-classic/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/same-origin/worker-classic/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/same-origin/worker-classic/same-http.no-redirect.http.html
index fc3f79d..61180bb 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/same-origin/worker-classic/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/same-origin/worker-classic/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/same-origin/worker-module/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/same-origin/worker-module/same-http.keep-origin.http.html
index c9ea722..95f6c8ebd 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/same-origin/worker-module/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/same-origin/worker-module/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/same-origin/worker-module/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/same-origin/worker-module/same-http.no-redirect.http.html
index 75ce7b9..49db7eb 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/same-origin/worker-module/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/same-origin/worker-module/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/same-origin/xhr/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/same-origin/xhr/cross-http.keep-origin.http.html
index 3fc0180c..c9a0fb2 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/same-origin/xhr/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/same-origin/xhr/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/same-origin/xhr/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/same-origin/xhr/cross-http.no-redirect.http.html
index f18afa6..7550a8c 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/same-origin/xhr/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/same-origin/xhr/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/same-origin/xhr/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/same-origin/xhr/cross-http.swap-origin.http.html
index dfb4cfb..d2d8b94 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/same-origin/xhr/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/same-origin/xhr/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/same-origin/xhr/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/same-origin/xhr/cross-https.keep-origin.http.html
index f025694..7a688a2 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/same-origin/xhr/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/same-origin/xhr/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/same-origin/xhr/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/same-origin/xhr/cross-https.no-redirect.http.html
index 2d0a801..821792a1 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/same-origin/xhr/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/same-origin/xhr/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/same-origin/xhr/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/same-origin/xhr/cross-https.swap-origin.http.html
index 8bfc669a..31a2bab7 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/same-origin/xhr/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/same-origin/xhr/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/same-origin/xhr/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/same-origin/xhr/same-http.keep-origin.http.html
index ffbaeca..0ba5aa4 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/same-origin/xhr/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/same-origin/xhr/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/same-origin/xhr/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/same-origin/xhr/same-http.no-redirect.http.html
index 33df3bb..6f33657 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/same-origin/xhr/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/same-origin/xhr/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/same-origin/xhr/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/same-origin/xhr/same-http.swap-origin.http.html
index 9e46cc2f..b7f1171 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/same-origin/xhr/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/same-origin/xhr/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/same-origin/xhr/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/same-origin/xhr/same-https.swap-origin.http.html
index 2b5b44f..5f02b6f 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/same-origin/xhr/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/same-origin/xhr/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'same-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin-when-cross-origin/fetch/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin-when-cross-origin/fetch/cross-http.keep-origin.http.html
index 90d1b34..f481d9f 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin-when-cross-origin/fetch/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin-when-cross-origin/fetch/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin-when-cross-origin/fetch/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin-when-cross-origin/fetch/cross-http.no-redirect.http.html
index 5f0d0c14..248560a 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin-when-cross-origin/fetch/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin-when-cross-origin/fetch/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin-when-cross-origin/fetch/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin-when-cross-origin/fetch/cross-http.swap-origin.http.html
index d1e08ef..64b579b8 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin-when-cross-origin/fetch/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin-when-cross-origin/fetch/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin-when-cross-origin/fetch/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin-when-cross-origin/fetch/cross-https.keep-origin.http.html
index 7b350376..9e31475 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin-when-cross-origin/fetch/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin-when-cross-origin/fetch/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin-when-cross-origin/fetch/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin-when-cross-origin/fetch/cross-https.no-redirect.http.html
index b9fcad9..e026230 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin-when-cross-origin/fetch/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin-when-cross-origin/fetch/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin-when-cross-origin/fetch/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin-when-cross-origin/fetch/cross-https.swap-origin.http.html
index 3a064f0e..ce01de6 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin-when-cross-origin/fetch/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin-when-cross-origin/fetch/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin-when-cross-origin/fetch/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin-when-cross-origin/fetch/same-http.keep-origin.http.html
index 622c3105..5fbd8a5 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin-when-cross-origin/fetch/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin-when-cross-origin/fetch/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin-when-cross-origin/fetch/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin-when-cross-origin/fetch/same-http.no-redirect.http.html
index 456470b..bccb924 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin-when-cross-origin/fetch/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin-when-cross-origin/fetch/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin-when-cross-origin/fetch/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin-when-cross-origin/fetch/same-http.swap-origin.http.html
index 016a7e3..6dfd5d3 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin-when-cross-origin/fetch/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin-when-cross-origin/fetch/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin-when-cross-origin/fetch/same-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin-when-cross-origin/fetch/same-https.keep-origin.http.html
index 11b8af7..3394b87c 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin-when-cross-origin/fetch/same-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin-when-cross-origin/fetch/same-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin-when-cross-origin/fetch/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin-when-cross-origin/fetch/same-https.no-redirect.http.html
index 478a6e9..efe8f5e6 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin-when-cross-origin/fetch/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin-when-cross-origin/fetch/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin-when-cross-origin/fetch/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin-when-cross-origin/fetch/same-https.swap-origin.http.html
index 4a20ba6..849670a0 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin-when-cross-origin/fetch/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin-when-cross-origin/fetch/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html
index 05ce616..7a9386a6 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin-when-cross-origin/worker-classic/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html
index 99935de..cbbe55e 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin-when-cross-origin/worker-classic/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin-when-cross-origin/worker-module/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin-when-cross-origin/worker-module/same-http.keep-origin.http.html
index 1f995a6..27ed0b5 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin-when-cross-origin/worker-module/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin-when-cross-origin/worker-module/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin-when-cross-origin/worker-module/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin-when-cross-origin/worker-module/same-http.no-redirect.http.html
index 5a010ce..f44d534 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin-when-cross-origin/worker-module/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin-when-cross-origin/worker-module/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin-when-cross-origin/xhr/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin-when-cross-origin/xhr/cross-http.keep-origin.http.html
index 882ad48..91e47023 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin-when-cross-origin/xhr/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin-when-cross-origin/xhr/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin-when-cross-origin/xhr/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin-when-cross-origin/xhr/cross-http.no-redirect.http.html
index 641d43fc..549821f 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin-when-cross-origin/xhr/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin-when-cross-origin/xhr/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin-when-cross-origin/xhr/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin-when-cross-origin/xhr/cross-http.swap-origin.http.html
index 243de3e..79f79f5 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin-when-cross-origin/xhr/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin-when-cross-origin/xhr/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin-when-cross-origin/xhr/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin-when-cross-origin/xhr/cross-https.keep-origin.http.html
index 6e88020..9fda252 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin-when-cross-origin/xhr/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin-when-cross-origin/xhr/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin-when-cross-origin/xhr/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin-when-cross-origin/xhr/cross-https.no-redirect.http.html
index eb8d899..9dc86ff 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin-when-cross-origin/xhr/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin-when-cross-origin/xhr/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin-when-cross-origin/xhr/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin-when-cross-origin/xhr/cross-https.swap-origin.http.html
index 4a65e04c..1507b21 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin-when-cross-origin/xhr/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin-when-cross-origin/xhr/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin-when-cross-origin/xhr/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin-when-cross-origin/xhr/same-http.keep-origin.http.html
index 4839c083..74345f2 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin-when-cross-origin/xhr/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin-when-cross-origin/xhr/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin-when-cross-origin/xhr/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin-when-cross-origin/xhr/same-http.no-redirect.http.html
index 5a06b72..fa3be90d 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin-when-cross-origin/xhr/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin-when-cross-origin/xhr/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin-when-cross-origin/xhr/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin-when-cross-origin/xhr/same-http.swap-origin.http.html
index db5e0c7..9a60398 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin-when-cross-origin/xhr/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin-when-cross-origin/xhr/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin-when-cross-origin/xhr/same-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin-when-cross-origin/xhr/same-https.keep-origin.http.html
index 38bfcabc..aa51156c 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin-when-cross-origin/xhr/same-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin-when-cross-origin/xhr/same-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin-when-cross-origin/xhr/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin-when-cross-origin/xhr/same-https.no-redirect.http.html
index a5fe5b4..a853214 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin-when-cross-origin/xhr/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin-when-cross-origin/xhr/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin-when-cross-origin/xhr/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin-when-cross-origin/xhr/same-https.swap-origin.http.html
index 2312589..1d732252 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin-when-cross-origin/xhr/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin-when-cross-origin/xhr/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin-when-cross-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin/fetch/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin/fetch/cross-http.keep-origin.http.html
index d82eba9..7a178fb 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin/fetch/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin/fetch/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin/fetch/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin/fetch/cross-http.no-redirect.http.html
index 8920642..6946b07b 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin/fetch/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin/fetch/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin/fetch/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin/fetch/cross-http.swap-origin.http.html
index d1155320..fa44916 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin/fetch/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin/fetch/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin/fetch/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin/fetch/cross-https.keep-origin.http.html
index 4bc5fe6..bb49647 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin/fetch/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin/fetch/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin/fetch/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin/fetch/cross-https.no-redirect.http.html
index 515fbfb1..2b14933 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin/fetch/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin/fetch/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin/fetch/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin/fetch/cross-https.swap-origin.http.html
index c7db5997..fd507dc 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin/fetch/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin/fetch/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin/fetch/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin/fetch/same-http.keep-origin.http.html
index a124444..9531148c 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin/fetch/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin/fetch/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin/fetch/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin/fetch/same-http.no-redirect.http.html
index 9fa6617..7af0965 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin/fetch/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin/fetch/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin/fetch/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin/fetch/same-http.swap-origin.http.html
index 1b4961d..c96bca8 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin/fetch/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin/fetch/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin/fetch/same-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin/fetch/same-https.keep-origin.http.html
index 18f675a..4ab84415 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin/fetch/same-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin/fetch/same-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin/fetch/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin/fetch/same-https.no-redirect.http.html
index 6c9e78f3..41d419152 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin/fetch/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin/fetch/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin/fetch/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin/fetch/same-https.swap-origin.http.html
index b7d28ca..00c48f5 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin/fetch/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin/fetch/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin/worker-classic/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin/worker-classic/same-http.keep-origin.http.html
index 215b3ed..963e40d 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin/worker-classic/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin/worker-classic/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin/worker-classic/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin/worker-classic/same-http.no-redirect.http.html
index 64733a5..732985b 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin/worker-classic/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin/worker-classic/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin/worker-module/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin/worker-module/same-http.keep-origin.http.html
index b39461b..88bbfe1b 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin/worker-module/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin/worker-module/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin/worker-module/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin/worker-module/same-http.no-redirect.http.html
index 4031424..88724a6a 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin/worker-module/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin/worker-module/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin/xhr/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin/xhr/cross-http.keep-origin.http.html
index 412fe07..8e83ead 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin/xhr/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin/xhr/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin/xhr/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin/xhr/cross-http.no-redirect.http.html
index 18749d4..884a0be 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin/xhr/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin/xhr/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin/xhr/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin/xhr/cross-http.swap-origin.http.html
index d09d298..1729cafe 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin/xhr/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin/xhr/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin/xhr/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin/xhr/cross-https.keep-origin.http.html
index 238f77d..6bfcb3e 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin/xhr/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin/xhr/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin/xhr/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin/xhr/cross-https.no-redirect.http.html
index 64e5c9a..c3a62d2 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin/xhr/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin/xhr/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin/xhr/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin/xhr/cross-https.swap-origin.http.html
index 1d95b2a..63b71ac7 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin/xhr/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin/xhr/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin/xhr/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin/xhr/same-http.keep-origin.http.html
index 403f3e9..ed55895 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin/xhr/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin/xhr/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin/xhr/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin/xhr/same-http.no-redirect.http.html
index 191179ab8..3334ff9 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin/xhr/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin/xhr/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin/xhr/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin/xhr/same-http.swap-origin.http.html
index 14e4f635..c4f9cb9 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin/xhr/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin/xhr/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin/xhr/same-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin/xhr/same-https.keep-origin.http.html
index 5074805..b7c897f 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin/xhr/same-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin/xhr/same-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin/xhr/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin/xhr/same-https.no-redirect.http.html
index 7562c44..fdf56bb 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin/xhr/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin/xhr/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin/xhr/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin/xhr/same-https.swap-origin.http.html
index 2fc3c972..220f73a 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin/xhr/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/strict-origin/xhr/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'strict-origin'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unsafe-url/fetch/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unsafe-url/fetch/cross-http.keep-origin.http.html
index 955369ec..e90b237 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unsafe-url/fetch/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unsafe-url/fetch/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unsafe-url/fetch/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unsafe-url/fetch/cross-http.no-redirect.http.html
index b5f3302a..60a6464 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unsafe-url/fetch/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unsafe-url/fetch/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unsafe-url/fetch/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unsafe-url/fetch/cross-http.swap-origin.http.html
index 7d56f9f..1ef9803 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unsafe-url/fetch/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unsafe-url/fetch/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unsafe-url/fetch/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unsafe-url/fetch/cross-https.keep-origin.http.html
index 04c561d..be7bee7 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unsafe-url/fetch/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unsafe-url/fetch/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unsafe-url/fetch/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unsafe-url/fetch/cross-https.no-redirect.http.html
index 0edb35484..7cd6786 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unsafe-url/fetch/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unsafe-url/fetch/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unsafe-url/fetch/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unsafe-url/fetch/cross-https.swap-origin.http.html
index 6312f93..f3e5ddf 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unsafe-url/fetch/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unsafe-url/fetch/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unsafe-url/fetch/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unsafe-url/fetch/same-http.keep-origin.http.html
index c92d121..161c346 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unsafe-url/fetch/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unsafe-url/fetch/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unsafe-url/fetch/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unsafe-url/fetch/same-http.no-redirect.http.html
index eaea95a..79675b8 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unsafe-url/fetch/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unsafe-url/fetch/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unsafe-url/fetch/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unsafe-url/fetch/same-http.swap-origin.http.html
index f065e43..0c0ad4f1 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unsafe-url/fetch/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unsafe-url/fetch/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unsafe-url/fetch/same-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unsafe-url/fetch/same-https.keep-origin.http.html
index 29c64514..5624607 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unsafe-url/fetch/same-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unsafe-url/fetch/same-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unsafe-url/fetch/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unsafe-url/fetch/same-https.no-redirect.http.html
index fcb96b8..54e79c9 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unsafe-url/fetch/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unsafe-url/fetch/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unsafe-url/fetch/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unsafe-url/fetch/same-https.swap-origin.http.html
index e918da49..74be6be 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unsafe-url/fetch/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unsafe-url/fetch/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unsafe-url/worker-classic/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unsafe-url/worker-classic/same-http.keep-origin.http.html
index acbf9e0..5f667ba 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unsafe-url/worker-classic/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unsafe-url/worker-classic/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unsafe-url/worker-classic/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unsafe-url/worker-classic/same-http.no-redirect.http.html
index 7824eb44..3bc18ea7 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unsafe-url/worker-classic/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unsafe-url/worker-classic/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unsafe-url/worker-module/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unsafe-url/worker-module/same-http.keep-origin.http.html
index 6940fbf..907d1553 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unsafe-url/worker-module/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unsafe-url/worker-module/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unsafe-url/worker-module/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unsafe-url/worker-module/same-http.no-redirect.http.html
index e968ee8..8280d61 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unsafe-url/worker-module/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unsafe-url/worker-module/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unsafe-url/xhr/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unsafe-url/xhr/cross-http.keep-origin.http.html
index a74f146f..c84efa1 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unsafe-url/xhr/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unsafe-url/xhr/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unsafe-url/xhr/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unsafe-url/xhr/cross-http.no-redirect.http.html
index 636696b..080d448 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unsafe-url/xhr/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unsafe-url/xhr/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unsafe-url/xhr/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unsafe-url/xhr/cross-http.swap-origin.http.html
index 53fb44d2..dbe7659 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unsafe-url/xhr/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unsafe-url/xhr/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unsafe-url/xhr/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unsafe-url/xhr/cross-https.keep-origin.http.html
index 2fa9a68..1d92d6de 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unsafe-url/xhr/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unsafe-url/xhr/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unsafe-url/xhr/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unsafe-url/xhr/cross-https.no-redirect.http.html
index a9d158e..d11b4ee 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unsafe-url/xhr/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unsafe-url/xhr/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unsafe-url/xhr/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unsafe-url/xhr/cross-https.swap-origin.http.html
index 24deef5b..f4116fd9 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unsafe-url/xhr/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unsafe-url/xhr/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unsafe-url/xhr/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unsafe-url/xhr/same-http.keep-origin.http.html
index 27f58ab..d550e1c 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unsafe-url/xhr/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unsafe-url/xhr/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unsafe-url/xhr/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unsafe-url/xhr/same-http.no-redirect.http.html
index 2d5b9e2..f2d8e8c 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unsafe-url/xhr/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unsafe-url/xhr/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unsafe-url/xhr/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unsafe-url/xhr/same-http.swap-origin.http.html
index d90adec8..8b2ee72 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unsafe-url/xhr/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unsafe-url/xhr/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unsafe-url/xhr/same-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unsafe-url/xhr/same-https.keep-origin.http.html
index 7d21976..9590e6af 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unsafe-url/xhr/same-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unsafe-url/xhr/same-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unsafe-url/xhr/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unsafe-url/xhr/same-https.no-redirect.http.html
index 0ddc6b1..731349b 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unsafe-url/xhr/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unsafe-url/xhr/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unsafe-url/xhr/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unsafe-url/xhr/same-https.swap-origin.http.html
index 50926c7..15dfe03 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unsafe-url/xhr/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unsafe-url/xhr/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is set to 'unsafe-url'</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unset/fetch/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unset/fetch/cross-http.keep-origin.http.html
index f341ec9..ac262b5 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unset/fetch/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unset/fetch/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unset/fetch/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unset/fetch/cross-http.no-redirect.http.html
index 760bf97..d56b994a 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unset/fetch/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unset/fetch/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unset/fetch/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unset/fetch/cross-http.swap-origin.http.html
index 43023a2..ed3d3d18 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unset/fetch/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unset/fetch/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unset/fetch/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unset/fetch/cross-https.keep-origin.http.html
index d854190b..d0de32d 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unset/fetch/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unset/fetch/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unset/fetch/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unset/fetch/cross-https.no-redirect.http.html
index 210fb465..ce96aac 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unset/fetch/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unset/fetch/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unset/fetch/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unset/fetch/cross-https.swap-origin.http.html
index e19fb082..f641586 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unset/fetch/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unset/fetch/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unset/fetch/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unset/fetch/same-http.keep-origin.http.html
index 9365ed50..da10696 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unset/fetch/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unset/fetch/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unset/fetch/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unset/fetch/same-http.no-redirect.http.html
index ea8a0130..ae97e66b 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unset/fetch/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unset/fetch/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unset/fetch/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unset/fetch/same-http.swap-origin.http.html
index 17122d3..dc8420c 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unset/fetch/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unset/fetch/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unset/fetch/same-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unset/fetch/same-https.keep-origin.http.html
index 99fe3242..e35002a 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unset/fetch/same-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unset/fetch/same-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unset/fetch/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unset/fetch/same-https.no-redirect.http.html
index ce0bce5..d0aef00 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unset/fetch/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unset/fetch/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unset/fetch/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unset/fetch/same-https.swap-origin.http.html
index b51a46c..d659b2e 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unset/fetch/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unset/fetch/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unset/worker-classic/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unset/worker-classic/same-http.keep-origin.http.html
index f226618..320c613e2 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unset/worker-classic/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unset/worker-classic/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unset/worker-classic/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unset/worker-classic/same-http.no-redirect.http.html
index 3eac1bf..95d7966 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unset/worker-classic/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unset/worker-classic/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unset/worker-module/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unset/worker-module/same-http.keep-origin.http.html
index a7422bf0..9a7435fb 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unset/worker-module/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unset/worker-module/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unset/worker-module/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unset/worker-module/same-http.no-redirect.http.html
index fd43de2..60a84c0 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unset/worker-module/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unset/worker-module/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unset/xhr/cross-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unset/xhr/cross-http.keep-origin.http.html
index 47b181de..8091325 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unset/xhr/cross-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unset/xhr/cross-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unset/xhr/cross-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unset/xhr/cross-http.no-redirect.http.html
index 3b22ea6..036fd597 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unset/xhr/cross-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unset/xhr/cross-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unset/xhr/cross-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unset/xhr/cross-http.swap-origin.http.html
index 9cc882e..c8d4fc0 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unset/xhr/cross-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unset/xhr/cross-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unset/xhr/cross-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unset/xhr/cross-https.keep-origin.http.html
index 4bbe1d76..e9643395 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unset/xhr/cross-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unset/xhr/cross-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unset/xhr/cross-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unset/xhr/cross-https.no-redirect.http.html
index e2208cb..faae5d5 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unset/xhr/cross-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unset/xhr/cross-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unset/xhr/cross-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unset/xhr/cross-https.swap-origin.http.html
index dc7c389..e9bb239 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unset/xhr/cross-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unset/xhr/cross-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unset/xhr/same-http.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unset/xhr/same-http.keep-origin.http.html
index d7797a75e..07a3e6ed 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unset/xhr/same-http.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unset/xhr/same-http.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unset/xhr/same-http.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unset/xhr/same-http.no-redirect.http.html
index 350cbe3..95fdd6a 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unset/xhr/same-http.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unset/xhr/same-http.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unset/xhr/same-http.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unset/xhr/same-http.swap-origin.http.html
index b4b37250..e960815 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unset/xhr/same-http.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unset/xhr/same-http.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unset/xhr/same-https.keep-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unset/xhr/same-https.keep-origin.http.html
index 47951e9..ab316a0 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unset/xhr/same-https.keep-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unset/xhr/same-https.keep-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unset/xhr/same-https.no-redirect.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unset/xhr/same-https.no-redirect.http.html
index 46d85b1..77dde1a89 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unset/xhr/same-https.no-redirect.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unset/xhr/same-https.no-redirect.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unset/xhr/same-https.swap-origin.http.html b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unset/xhr/same-https.swap-origin.http.html
index 57a3e7c5..6258675a1 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unset/xhr/same-https.swap-origin.http.html
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/gen/worker-module.http-rp/unset/xhr/same-https.swap-origin.http.html
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by referrer-policy/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec referrer-policy/` -->
 <html>
   <head>
     <title>Referrer-Policy: Referrer Policy is not explicitly defined</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/referrer-policy/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/generic/spec_json.js b/third_party/blink/web_tests/external/wpt/referrer-policy/generic/spec_json.js
new file mode 100644
index 0000000..27961c5d
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/generic/spec_json.js
@@ -0,0 +1 @@
+var SPEC_JSON = {"selection_pattern": "%(source_context_list)s.%(delivery_type)s/%(delivery_value)s/%(subresource)s/%(origin)s.%(redirection)s.%(source_scheme)s", "test_file_path_pattern": "gen/%(source_context_list)s.%(delivery_type)s/%(delivery_value)s/%(subresource)s/%(origin)s.%(redirection)s.%(source_scheme)s.html", "test_description_template": "Referrer Policy: Expects %(expectation)s for %(subresource)s to %(origin)s origin and %(redirection)s redirection from %(source_scheme)s context.", "test_page_title_template": "Referrer-Policy: %(title)s", "specification": [{"name": "unset-referrer-policy", "title": "Referrer Policy is not explicitly defined", "description": "Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.", "specification_url": "https://w3c.github.io/webappsec-referrer-policy/#referrer-policies", "test_expansion": [{"name": "insecure-protocol", "expansion": "default", "source_scheme": "http", "source_context_list": "*", "delivery_type": "*", "delivery_value": null, "redirection": "*", "origin": ["same-http", "cross-http"], "subresource": "*", "expectation": "stripped-referrer"}, {"name": "upgrade-protocol", "expansion": "default", "source_scheme": "http", "source_context_list": "*", "delivery_type": "*", "delivery_value": null, "redirection": "*", "origin": ["same-https", "cross-https"], "subresource": "*", "expectation": "stripped-referrer"}, {"name": "downgrade-protocol", "expansion": "default", "source_scheme": "https", "source_context_list": "*", "delivery_type": "*", "delivery_value": null, "redirection": "*", "origin": ["same-http", "cross-http"], "subresource": "*", "expectation": "omitted"}, {"name": "secure-protocol", "expansion": "default", "source_scheme": "https", "source_context_list": "*", "delivery_type": "*", "delivery_value": null, "redirection": "*", "origin": ["same-https", "cross-https"], "subresource": "*", "expectation": "stripped-referrer"}]}, {"name": "no-referrer", "title": "Referrer Policy is set to 'no-referrer'", "description": "Check that sub-resource never gets the referrer URL.", "specification_url": "https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer", "test_expansion": [{"name": "generic", "expansion": "default", "source_scheme": "*", "source_context_list": "*", "delivery_type": "*", "delivery_value": "no-referrer", "redirection": "*", "origin": "*", "subresource": "*", "expectation": "omitted"}]}, {"name": "no-referrer-when-downgrade", "title": "Referrer Policy is set to 'no-referrer-when-downgrade'", "description": "Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.", "specification_url": "https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade", "test_expansion": [{"name": "insecure-protocol", "expansion": "default", "source_scheme": "http", "source_context_list": "*", "delivery_type": "*", "delivery_value": "no-referrer-when-downgrade", "redirection": "*", "origin": ["same-http", "cross-http"], "subresource": "*", "expectation": "stripped-referrer"}, {"name": "upgrade-protocol", "expansion": "default", "source_scheme": "http", "source_context_list": "*", "delivery_type": "*", "delivery_value": "no-referrer-when-downgrade", "redirection": "*", "origin": ["same-https", "cross-https"], "subresource": "*", "expectation": "stripped-referrer"}, {"name": "downgrade-protocol", "expansion": "default", "source_scheme": "https", "source_context_list": "*", "delivery_type": "*", "delivery_value": "no-referrer-when-downgrade", "redirection": "*", "origin": ["same-http", "cross-http"], "subresource": "*", "expectation": "omitted"}, {"name": "secure-protocol", "expansion": "default", "source_scheme": "https", "source_context_list": "*", "delivery_type": "*", "delivery_value": "no-referrer-when-downgrade", "redirection": "*", "origin": ["same-https", "cross-https"], "subresource": "*", "expectation": "stripped-referrer"}]}, {"name": "origin", "title": "Referrer Policy is set to 'origin'", "description": "Check that all subresources in all casses get only the origin portion of the referrer URL.", "specification_url": "https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-origin", "test_expansion": [{"name": "generic", "expansion": "default", "source_scheme": "*", "source_context_list": "*", "delivery_type": "*", "delivery_value": "origin", "redirection": "*", "origin": "*", "subresource": "*", "expectation": "origin"}]}, {"name": "same-origin", "title": "Referrer Policy is set to 'same-origin'", "description": "Check that cross-origin subresources get no referrer information and same-origin get the stripped referrer URL.", "specification_url": "https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-same-origin", "test_expansion": [{"name": "same-origin-insecure", "expansion": "default", "source_scheme": "http", "source_context_list": "*", "delivery_type": "*", "delivery_value": "same-origin", "redirection": "*", "origin": "same-http", "subresource": "*", "expectation": "stripped-referrer"}, {"name": "same-origin-secure-default", "expansion": "default", "source_scheme": "https", "source_context_list": "*", "delivery_type": "*", "delivery_value": "same-origin", "redirection": "*", "origin": "same-https", "subresource": "*", "expectation": "stripped-referrer"}, {"name": "same-origin-insecure", "expansion": "override", "source_scheme": "*", "source_context_list": "*", "delivery_type": "*", "delivery_value": "same-origin", "redirection": "swap-origin", "origin": ["same-http", "same-https"], "subresource": "*", "expectation": "omitted"}, {"name": "cross-origin", "expansion": "default", "source_scheme": "*", "source_context_list": "*", "delivery_type": "*", "delivery_value": "same-origin", "redirection": "*", "origin": ["cross-http", "cross-https"], "subresource": "*", "expectation": "omitted"}]}, {"name": "origin-when-cross-origin", "title": "Referrer Policy is set to 'origin-when-cross-origin'", "description": "Check that cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.", "specification_url": "https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-origin-when-cross-origin", "test_expansion": [{"name": "same-origin-insecure", "expansion": "default", "source_scheme": "http", "source_context_list": "*", "delivery_type": "*", "delivery_value": "origin-when-cross-origin", "redirection": "*", "origin": "same-http", "subresource": "*", "expectation": "stripped-referrer"}, {"name": "same-origin-secure-default", "expansion": "default", "source_scheme": "https", "source_context_list": "*", "delivery_type": "*", "delivery_value": "origin-when-cross-origin", "redirection": "*", "origin": "same-https", "subresource": "*", "expectation": "stripped-referrer"}, {"name": "same-origin-upgrade", "expansion": "default", "source_scheme": "http", "source_context_list": "*", "delivery_type": "*", "delivery_value": "origin-when-cross-origin", "redirection": "*", "origin": "same-https", "subresource": "*", "expectation": "origin"}, {"name": "same-origin-downgrade", "expansion": "default", "source_scheme": "https", "source_context_list": "*", "delivery_type": "*", "delivery_value": "origin-when-cross-origin", "redirection": "*", "origin": "same-http", "subresource": "*", "expectation": "origin"}, {"name": "same-origin-insecure", "expansion": "override", "source_scheme": "*", "source_context_list": "*", "delivery_type": "*", "delivery_value": "origin-when-cross-origin", "redirection": "swap-origin", "origin": ["same-http", "same-https"], "subresource": "*", "expectation": "origin"}, {"name": "cross-origin", "expansion": "default", "source_scheme": "*", "source_context_list": "*", "delivery_type": "*", "delivery_value": "origin-when-cross-origin", "redirection": "*", "origin": ["cross-http", "cross-https"], "subresource": "*", "expectation": "origin"}]}, {"name": "strict-origin", "title": "Referrer Policy is set to 'strict-origin'", "description": "Check that non a priori insecure subresource gets only the origin portion of the referrer URL. A priori insecure subresource gets no referrer information.", "specification_url": "https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-strict-origin", "test_expansion": [{"name": "insecure-protocol", "expansion": "default", "source_scheme": "http", "source_context_list": "*", "delivery_type": "*", "delivery_value": "strict-origin", "redirection": "*", "origin": ["same-http", "cross-http"], "subresource": "*", "expectation": "origin"}, {"name": "upgrade-protocol", "expansion": "default", "source_scheme": "http", "source_context_list": "*", "delivery_type": "*", "delivery_value": "strict-origin", "redirection": "*", "origin": ["same-https", "cross-https"], "subresource": "*", "expectation": "origin"}, {"name": "downgrade-protocol", "expansion": "default", "source_scheme": "https", "source_context_list": "*", "delivery_type": "*", "delivery_value": "strict-origin", "redirection": "*", "origin": ["same-http", "cross-http"], "subresource": "*", "expectation": "omitted"}, {"name": "secure-protocol", "expansion": "default", "source_scheme": "https", "source_context_list": "*", "delivery_type": "*", "delivery_value": "strict-origin", "redirection": "*", "origin": ["same-https", "cross-https"], "subresource": "*", "expectation": "origin"}]}, {"name": "strict-origin-when-cross-origin", "title": "Referrer Policy is set to 'strict-origin-when-cross-origin'", "description": "Check that a priori insecure subresource gets no referrer information. Otherwise, cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.", "specification_url": "https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-strict-origin-when-cross-origin", "test_expansion": [{"name": "same-insecure", "expansion": "default", "source_scheme": "http", "source_context_list": "*", "delivery_type": "*", "delivery_value": "strict-origin-when-cross-origin", "redirection": "*", "origin": "same-http", "subresource": "*", "expectation": "stripped-referrer"}, {"name": "same-insecure", "expansion": "override", "source_scheme": "http", "source_context_list": "*", "delivery_type": "*", "delivery_value": "strict-origin-when-cross-origin", "redirection": "swap-origin", "origin": "same-http", "subresource": "*", "expectation": "origin"}, {"name": "cross-insecure", "expansion": "default", "source_scheme": "http", "source_context_list": "*", "delivery_type": "*", "delivery_value": "strict-origin-when-cross-origin", "redirection": "*", "origin": "cross-http", "subresource": "*", "expectation": "origin"}, {"name": "upgrade-protocol", "expansion": "default", "source_scheme": "http", "source_context_list": "*", "delivery_type": "*", "delivery_value": "strict-origin-when-cross-origin", "redirection": "*", "origin": ["same-https", "cross-https"], "subresource": "*", "expectation": "origin"}, {"name": "downgrade-protocol", "expansion": "default", "source_scheme": "https", "source_context_list": "*", "delivery_type": "*", "delivery_value": "strict-origin-when-cross-origin", "redirection": "*", "origin": ["same-http", "cross-http"], "subresource": "*", "expectation": "omitted"}, {"name": "same-secure", "expansion": "default", "source_scheme": "https", "source_context_list": "*", "delivery_type": "*", "delivery_value": "strict-origin-when-cross-origin", "redirection": "*", "origin": "same-https", "subresource": "*", "expectation": "stripped-referrer"}, {"name": "same-secure", "expansion": "override", "source_scheme": "https", "source_context_list": "*", "delivery_type": "*", "delivery_value": "strict-origin-when-cross-origin", "redirection": "swap-origin", "origin": "same-https", "subresource": "*", "expectation": "origin"}, {"name": "cross-secure", "expansion": "default", "source_scheme": "https", "source_context_list": "*", "delivery_type": "*", "delivery_value": "strict-origin-when-cross-origin", "redirection": "*", "origin": "cross-https", "subresource": "*", "expectation": "origin"}]}, {"name": "unsafe-url", "title": "Referrer Policy is set to 'unsafe-url'", "description": "Check that all sub-resources get the stripped referrer URL.", "specification_url": "https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url", "test_expansion": [{"name": "generic", "expansion": "default", "source_scheme": "*", "source_context_list": "*", "delivery_type": "*", "delivery_value": "unsafe-url", "redirection": "*", "origin": "*", "subresource": "*", "expectation": "stripped-referrer"}]}], "delivery_key": "referrerPolicy", "excluded_tests": [{"name": "cross-origin-workers", "expansion": "*", "source_scheme": "*", "source_context_list": "*", "redirection": "*", "delivery_type": "*", "delivery_value": "*", "origin": ["cross-http", "cross-https"], "subresource": ["worker-classic", "worker-module", "sharedworker-classic"], "expectation": "*"}, {"name": "upgraded-protocol-workers", "expansion": "*", "source_scheme": "http", "source_context_list": "*", "delivery_type": "*", "delivery_value": "*", "redirection": "*", "origin": ["same-https", "cross-https"], "subresource": ["worker-classic", "worker-module", "sharedworker-classic"], "expectation": "*"}, {"name": "mixed-content-insecure-subresources", "expansion": "*", "source_scheme": "https", "source_context_list": "*", "delivery_type": "*", "delivery_value": "*", "redirection": "*", "origin": ["same-http", "cross-http"], "subresource": "*", "expectation": "*"}, {"name": "area-tag", "expansion": "*", "source_scheme": "*", "source_context_list": "*", "delivery_type": "*", "delivery_value": "*", "redirection": "*", "origin": "*", "subresource": "area-tag", "expectation": "*"}, {"name": "worker-requests-with-swap-origin-redirect", "expansion": "*", "source_scheme": "*", "source_context_list": "*", "delivery_type": "*", "delivery_value": "*", "redirection": "swap-origin", "origin": "*", "subresource": ["worker-classic", "worker-module", "sharedworker-classic"], "expectation": "*"}, {"name": "overhead-for-redirection", "expansion": "*", "source_scheme": "*", "source_context_list": "*", "delivery_type": "*", "delivery_value": "*", "redirection": ["keep-origin", "swap-origin"], "origin": "*", "subresource": ["a-tag", "area-tag"], "expectation": "*"}, {"name": "source-https-unsupported-by-web-platform-tests-runners", "expansion": "*", "source_scheme": "https", "source_context_list": "*", "delivery_type": "*", "delivery_value": "*", "redirection": "*", "origin": "*", "subresource": "*", "expectation": "*"}, {"name": "<link rel=noreferrer>'s delivery_value should be no-referrer", "expansion": "*", "source_scheme": "*", "source_context_list": "*", "delivery_type": "rel-noref", "delivery_value": [null, "no-referrer-when-downgrade", "same-origin", "origin", "origin-when-cross-origin", "strict-origin", "strict-origin-when-cross-origin", "unsafe-url"], "redirection": "*", "origin": "*", "subresource": "*", "expectation": "*"}], "source_context_schema": {"supported_delivery_type": {"top": ["meta", "http-rp"], "iframe": ["meta", "http-rp"], "iframe-blank": ["meta"], "srcdoc": ["meta"], "worker-classic": ["http-rp"], "worker-module": ["http-rp"], "worker-classic-data": [], "worker-module-data": []}, "supported_subresource": {"top": "*", "iframe": "*", "iframe-blank": "*", "srcdoc": "*", "worker-classic": ["xhr", "fetch", "worker-classic", "worker-module"], "worker-module": ["xhr", "fetch", "worker-classic", "worker-module"], "worker-classic-data": ["xhr", "fetch"], "worker-module-data": ["xhr", "fetch"]}}, "subresource_schema": {"supported_delivery_type": {"iframe-tag": ["attr"], "img-tag": ["attr"], "script-tag": ["attr"], "a-tag": ["attr", "rel-noref"], "area-tag": ["attr"], "xhr": [], "fetch": [], "worker-module": [], "sharedworker-classic": [], "worker-classic": []}}, "source_context_list_schema": {"top": {"description": "Policy set by the top-level Document", "sourceContextList": [{"sourceContextType": "top", "policyDeliveries": ["policy"]}], "subresourcePolicyDeliveries": []}, "req": {"description": "Subresource request's policy should override Document's policy", "sourceContextList": [{"sourceContextType": "top", "policyDeliveries": ["anotherPolicy"]}], "subresourcePolicyDeliveries": ["nonNullPolicy"]}, "srcdoc-inherit": {"description": "srcdoc iframe should inherit parent Document's policy", "sourceContextList": [{"sourceContextType": "top", "policyDeliveries": ["policy"]}, {"sourceContextType": "srcdoc"}], "subresourcePolicyDeliveries": []}, "srcdoc": {"description": "srcdoc iframe's policy should override parent Document's policy", "sourceContextList": [{"sourceContextType": "top", "policyDeliveries": ["anotherPolicy"]}, {"sourceContextType": "srcdoc", "policyDeliveries": ["nonNullPolicy"]}], "subresourcePolicyDeliveries": []}, "iframe": {"description": "external iframe's policy should override parent Document's policy", "sourceContextList": [{"sourceContextType": "top", "policyDeliveries": ["anotherPolicy"]}, {"sourceContextType": "iframe", "policyDeliveries": ["policy"]}], "subresourcePolicyDeliveries": []}, "worker-classic": {"sourceContextList": [{"sourceContextType": "top", "policyDeliveries": ["anotherPolicy"]}, {"sourceContextType": "worker-classic", "policyDeliveries": ["policy"]}], "subresourcePolicyDeliveries": []}, "worker-classic-data": {"sourceContextList": [{"sourceContextType": "top", "policyDeliveries": ["anotherPolicy"]}, {"sourceContextType": "worker-classic-data", "policyDeliveries": ["policy"]}], "subresourcePolicyDeliveries": []}, "worker-module": {"sourceContextList": [{"sourceContextType": "top", "policyDeliveries": ["anotherPolicy"]}, {"sourceContextType": "worker-module", "policyDeliveries": ["policy"]}], "subresourcePolicyDeliveries": []}, "worker-module-data": {"sourceContextList": [{"sourceContextType": "top", "policyDeliveries": ["anotherPolicy"]}, {"sourceContextType": "worker-module-data", "policyDeliveries": ["policy"]}], "subresourcePolicyDeliveries": []}}, "test_expansion_schema": {"expansion": ["default", "override"], "delivery_type": ["attr", "rel-noref", "http-rp", "meta"], "delivery_value": [null, "no-referrer", "no-referrer-when-downgrade", "same-origin", "origin", "origin-when-cross-origin", "strict-origin", "strict-origin-when-cross-origin", "unsafe-url"], "origin": ["same-http", "same-https", "cross-http", "cross-https"], "source_context_list": ["top", "req", "srcdoc-inherit", "srcdoc", "iframe", "worker-classic", "worker-classic-data", "worker-module", "worker-module-data"], "source_scheme": ["http", "https"], "redirection": ["no-redirect", "keep-origin", "swap-origin"], "subresource": ["iframe-tag", "img-tag", "script-tag", "a-tag", "area-tag", "xhr", "worker-classic", "worker-module", "sharedworker-classic", "fetch"], "expectation": ["omitted", "origin", "stripped-referrer"]}};
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/generic/tools/generate.py b/third_party/blink/web_tests/external/wpt/referrer-policy/generic/tools/generate.py
deleted file mode 100755
index 7cace61..0000000
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/generic/tools/generate.py
+++ /dev/null
@@ -1,40 +0,0 @@
-#!/usr/bin/env python
-
-import os
-import sys
-
-sys.path.insert(
-    0,
-    os.path.join(
-        os.path.dirname(os.path.abspath(__file__)), '..', '..', '..', 'common',
-        'security-features', 'tools'))
-import generate
-
-
-class ReferrerPolicyConfig(object):
-    def __init__(self):
-        self.selection_pattern = \
-              '%(source_context_list)s.%(delivery_type)s/' + \
-              '%(delivery_value)s/' + \
-              '%(subresource)s/' + \
-              '%(origin)s.%(redirection)s.%(source_scheme)s'
-
-        self.test_file_path_pattern = 'gen/' + self.selection_pattern + '.html'
-
-        self.test_description_template = 'Referrer Policy: Expects %(expectation)s for %(subresource)s to %(origin)s origin and %(redirection)s redirection from %(source_scheme)s context.'
-
-        self.test_page_title_template = 'Referrer-Policy: %s'
-
-        self.helper_js = '/referrer-policy/generic/test-case.sub.js'
-
-        # For debug target only.
-        self.sanity_checker_js = '/referrer-policy/generic/sanity-checker.js'
-        self.spec_json_js = '/referrer-policy/spec_json.js'
-
-        script_directory = os.path.dirname(os.path.abspath(__file__))
-        self.spec_directory = os.path.abspath(
-            os.path.join(script_directory, '..', '..'))
-
-
-if __name__ == '__main__':
-    generate.main(ReferrerPolicyConfig())
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/spec.src.json b/third_party/blink/web_tests/external/wpt/referrer-policy/spec.src.json
index 2674a45d..b0e07eb1 100644
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/spec.src.json
+++ b/third_party/blink/web_tests/external/wpt/referrer-policy/spec.src.json
@@ -1,4 +1,8 @@
 {
+  "selection_pattern": "%(source_context_list)s.%(delivery_type)s/%(delivery_value)s/%(subresource)s/%(origin)s.%(redirection)s.%(source_scheme)s",
+  "test_file_path_pattern": "gen/%(source_context_list)s.%(delivery_type)s/%(delivery_value)s/%(subresource)s/%(origin)s.%(redirection)s.%(source_scheme)s.html",
+  "test_description_template": "Referrer Policy: Expects %(expectation)s for %(subresource)s to %(origin)s origin and %(redirection)s redirection from %(source_scheme)s context.",
+  "test_page_title_template": "Referrer-Policy: %(title)s",
   "specification": [
     {
       "name": "unset-referrer-policy",
diff --git a/third_party/blink/web_tests/external/wpt/referrer-policy/spec_json.js b/third_party/blink/web_tests/external/wpt/referrer-policy/spec_json.js
deleted file mode 100644
index 8a15eae..0000000
--- a/third_party/blink/web_tests/external/wpt/referrer-policy/spec_json.js
+++ /dev/null
@@ -1 +0,0 @@
-var SPEC_JSON = {"subresource_schema": {"supported_delivery_type": {"img-tag": ["attr"], "sharedworker-classic": [], "xhr": [], "a-tag": ["attr", "rel-noref"], "area-tag": ["attr"], "iframe-tag": ["attr"], "worker-module": [], "script-tag": ["attr"], "fetch": [], "worker-classic": []}}, "excluded_tests": [{"delivery_value": "*", "origin": ["cross-http", "cross-https"], "delivery_type": "*", "name": "cross-origin-workers", "expectation": "*", "expansion": "*", "redirection": "*", "source_context_list": "*", "source_scheme": "*", "subresource": ["worker-classic", "worker-module", "sharedworker-classic"]}, {"delivery_value": "*", "origin": ["same-https", "cross-https"], "delivery_type": "*", "name": "upgraded-protocol-workers", "expectation": "*", "expansion": "*", "redirection": "*", "source_context_list": "*", "source_scheme": "http", "subresource": ["worker-classic", "worker-module", "sharedworker-classic"]}, {"delivery_value": "*", "origin": ["same-http", "cross-http"], "delivery_type": "*", "name": "mixed-content-insecure-subresources", "expectation": "*", "expansion": "*", "redirection": "*", "source_context_list": "*", "source_scheme": "https", "subresource": "*"}, {"delivery_value": "*", "origin": "*", "delivery_type": "*", "name": "area-tag", "expectation": "*", "expansion": "*", "redirection": "*", "source_context_list": "*", "source_scheme": "*", "subresource": "area-tag"}, {"delivery_value": "*", "origin": "*", "delivery_type": "*", "name": "worker-requests-with-swap-origin-redirect", "expectation": "*", "expansion": "*", "redirection": "swap-origin", "source_context_list": "*", "source_scheme": "*", "subresource": ["worker-classic", "worker-module", "sharedworker-classic"]}, {"delivery_value": "*", "origin": "*", "delivery_type": "*", "name": "overhead-for-redirection", "expectation": "*", "expansion": "*", "redirection": ["keep-origin", "swap-origin"], "source_context_list": "*", "source_scheme": "*", "subresource": ["a-tag", "area-tag"]}, {"delivery_value": "*", "origin": "*", "delivery_type": "*", "name": "source-https-unsupported-by-web-platform-tests-runners", "expectation": "*", "expansion": "*", "redirection": "*", "source_context_list": "*", "source_scheme": "https", "subresource": "*"}, {"delivery_value": [null, "no-referrer-when-downgrade", "same-origin", "origin", "origin-when-cross-origin", "strict-origin", "strict-origin-when-cross-origin", "unsafe-url"], "origin": "*", "delivery_type": "rel-noref", "name": "<link rel=noreferrer>'s delivery_value should be no-referrer", "expectation": "*", "expansion": "*", "redirection": "*", "source_context_list": "*", "source_scheme": "*", "subresource": "*"}], "specification": [{"test_expansion": [{"delivery_value": null, "origin": ["same-http", "cross-http"], "delivery_type": "*", "name": "insecure-protocol", "expectation": "stripped-referrer", "expansion": "default", "redirection": "*", "source_context_list": "*", "source_scheme": "http", "subresource": "*"}, {"delivery_value": null, "origin": ["same-https", "cross-https"], "delivery_type": "*", "name": "upgrade-protocol", "expectation": "stripped-referrer", "expansion": "default", "redirection": "*", "source_context_list": "*", "source_scheme": "http", "subresource": "*"}, {"delivery_value": null, "origin": ["same-http", "cross-http"], "delivery_type": "*", "name": "downgrade-protocol", "expectation": "omitted", "expansion": "default", "redirection": "*", "source_context_list": "*", "source_scheme": "https", "subresource": "*"}, {"delivery_value": null, "origin": ["same-https", "cross-https"], "delivery_type": "*", "name": "secure-protocol", "expectation": "stripped-referrer", "expansion": "default", "redirection": "*", "source_context_list": "*", "source_scheme": "https", "subresource": "*"}], "description": "Check that referrer URL follows no-referrer-when-downgrade policy when no explicit Referrer Policy is set.", "specification_url": "https://w3c.github.io/webappsec-referrer-policy/#referrer-policies", "name": "unset-referrer-policy", "title": "Referrer Policy is not explicitly defined"}, {"test_expansion": [{"delivery_value": "no-referrer", "origin": "*", "delivery_type": "*", "name": "generic", "expectation": "omitted", "expansion": "default", "redirection": "*", "source_context_list": "*", "source_scheme": "*", "subresource": "*"}], "description": "Check that sub-resource never gets the referrer URL.", "specification_url": "https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer", "name": "no-referrer", "title": "Referrer Policy is set to 'no-referrer'"}, {"test_expansion": [{"delivery_value": "no-referrer-when-downgrade", "origin": ["same-http", "cross-http"], "delivery_type": "*", "name": "insecure-protocol", "expectation": "stripped-referrer", "expansion": "default", "redirection": "*", "source_context_list": "*", "source_scheme": "http", "subresource": "*"}, {"delivery_value": "no-referrer-when-downgrade", "origin": ["same-https", "cross-https"], "delivery_type": "*", "name": "upgrade-protocol", "expectation": "stripped-referrer", "expansion": "default", "redirection": "*", "source_context_list": "*", "source_scheme": "http", "subresource": "*"}, {"delivery_value": "no-referrer-when-downgrade", "origin": ["same-http", "cross-http"], "delivery_type": "*", "name": "downgrade-protocol", "expectation": "omitted", "expansion": "default", "redirection": "*", "source_context_list": "*", "source_scheme": "https", "subresource": "*"}, {"delivery_value": "no-referrer-when-downgrade", "origin": ["same-https", "cross-https"], "delivery_type": "*", "name": "secure-protocol", "expectation": "stripped-referrer", "expansion": "default", "redirection": "*", "source_context_list": "*", "source_scheme": "https", "subresource": "*"}], "description": "Check that non a priori insecure subresource gets the full Referrer URL. A priori insecure subresource gets no referrer information.", "specification_url": "https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-no-referrer-when-downgrade", "name": "no-referrer-when-downgrade", "title": "Referrer Policy is set to 'no-referrer-when-downgrade'"}, {"test_expansion": [{"delivery_value": "origin", "origin": "*", "delivery_type": "*", "name": "generic", "expectation": "origin", "expansion": "default", "redirection": "*", "source_context_list": "*", "source_scheme": "*", "subresource": "*"}], "description": "Check that all subresources in all casses get only the origin portion of the referrer URL.", "specification_url": "https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-origin", "name": "origin", "title": "Referrer Policy is set to 'origin'"}, {"test_expansion": [{"delivery_value": "same-origin", "origin": "same-http", "delivery_type": "*", "name": "same-origin-insecure", "expectation": "stripped-referrer", "expansion": "default", "redirection": "*", "source_context_list": "*", "source_scheme": "http", "subresource": "*"}, {"delivery_value": "same-origin", "origin": "same-https", "delivery_type": "*", "name": "same-origin-secure-default", "expectation": "stripped-referrer", "expansion": "default", "redirection": "*", "source_context_list": "*", "source_scheme": "https", "subresource": "*"}, {"delivery_value": "same-origin", "origin": ["same-http", "same-https"], "delivery_type": "*", "name": "same-origin-insecure", "expectation": "omitted", "expansion": "override", "redirection": "swap-origin", "source_context_list": "*", "source_scheme": "*", "subresource": "*"}, {"delivery_value": "same-origin", "origin": ["cross-http", "cross-https"], "delivery_type": "*", "name": "cross-origin", "expectation": "omitted", "expansion": "default", "redirection": "*", "source_context_list": "*", "source_scheme": "*", "subresource": "*"}], "description": "Check that cross-origin subresources get no referrer information and same-origin get the stripped referrer URL.", "specification_url": "https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-same-origin", "name": "same-origin", "title": "Referrer Policy is set to 'same-origin'"}, {"test_expansion": [{"delivery_value": "origin-when-cross-origin", "origin": "same-http", "delivery_type": "*", "name": "same-origin-insecure", "expectation": "stripped-referrer", "expansion": "default", "redirection": "*", "source_context_list": "*", "source_scheme": "http", "subresource": "*"}, {"delivery_value": "origin-when-cross-origin", "origin": "same-https", "delivery_type": "*", "name": "same-origin-secure-default", "expectation": "stripped-referrer", "expansion": "default", "redirection": "*", "source_context_list": "*", "source_scheme": "https", "subresource": "*"}, {"delivery_value": "origin-when-cross-origin", "origin": "same-https", "delivery_type": "*", "name": "same-origin-upgrade", "expectation": "origin", "expansion": "default", "redirection": "*", "source_context_list": "*", "source_scheme": "http", "subresource": "*"}, {"delivery_value": "origin-when-cross-origin", "origin": "same-http", "delivery_type": "*", "name": "same-origin-downgrade", "expectation": "origin", "expansion": "default", "redirection": "*", "source_context_list": "*", "source_scheme": "https", "subresource": "*"}, {"delivery_value": "origin-when-cross-origin", "origin": ["same-http", "same-https"], "delivery_type": "*", "name": "same-origin-insecure", "expectation": "origin", "expansion": "override", "redirection": "swap-origin", "source_context_list": "*", "source_scheme": "*", "subresource": "*"}, {"delivery_value": "origin-when-cross-origin", "origin": ["cross-http", "cross-https"], "delivery_type": "*", "name": "cross-origin", "expectation": "origin", "expansion": "default", "redirection": "*", "source_context_list": "*", "source_scheme": "*", "subresource": "*"}], "description": "Check that cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.", "specification_url": "https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-origin-when-cross-origin", "name": "origin-when-cross-origin", "title": "Referrer Policy is set to 'origin-when-cross-origin'"}, {"test_expansion": [{"delivery_value": "strict-origin", "origin": ["same-http", "cross-http"], "delivery_type": "*", "name": "insecure-protocol", "expectation": "origin", "expansion": "default", "redirection": "*", "source_context_list": "*", "source_scheme": "http", "subresource": "*"}, {"delivery_value": "strict-origin", "origin": ["same-https", "cross-https"], "delivery_type": "*", "name": "upgrade-protocol", "expectation": "origin", "expansion": "default", "redirection": "*", "source_context_list": "*", "source_scheme": "http", "subresource": "*"}, {"delivery_value": "strict-origin", "origin": ["same-http", "cross-http"], "delivery_type": "*", "name": "downgrade-protocol", "expectation": "omitted", "expansion": "default", "redirection": "*", "source_context_list": "*", "source_scheme": "https", "subresource": "*"}, {"delivery_value": "strict-origin", "origin": ["same-https", "cross-https"], "delivery_type": "*", "name": "secure-protocol", "expectation": "origin", "expansion": "default", "redirection": "*", "source_context_list": "*", "source_scheme": "https", "subresource": "*"}], "description": "Check that non a priori insecure subresource gets only the origin portion of the referrer URL. A priori insecure subresource gets no referrer information.", "specification_url": "https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-strict-origin", "name": "strict-origin", "title": "Referrer Policy is set to 'strict-origin'"}, {"test_expansion": [{"delivery_value": "strict-origin-when-cross-origin", "origin": "same-http", "delivery_type": "*", "name": "same-insecure", "expectation": "stripped-referrer", "expansion": "default", "redirection": "*", "source_context_list": "*", "source_scheme": "http", "subresource": "*"}, {"delivery_value": "strict-origin-when-cross-origin", "origin": "same-http", "delivery_type": "*", "name": "same-insecure", "expectation": "origin", "expansion": "override", "redirection": "swap-origin", "source_context_list": "*", "source_scheme": "http", "subresource": "*"}, {"delivery_value": "strict-origin-when-cross-origin", "origin": "cross-http", "delivery_type": "*", "name": "cross-insecure", "expectation": "origin", "expansion": "default", "redirection": "*", "source_context_list": "*", "source_scheme": "http", "subresource": "*"}, {"delivery_value": "strict-origin-when-cross-origin", "origin": ["same-https", "cross-https"], "delivery_type": "*", "name": "upgrade-protocol", "expectation": "origin", "expansion": "default", "redirection": "*", "source_context_list": "*", "source_scheme": "http", "subresource": "*"}, {"delivery_value": "strict-origin-when-cross-origin", "origin": ["same-http", "cross-http"], "delivery_type": "*", "name": "downgrade-protocol", "expectation": "omitted", "expansion": "default", "redirection": "*", "source_context_list": "*", "source_scheme": "https", "subresource": "*"}, {"delivery_value": "strict-origin-when-cross-origin", "origin": "same-https", "delivery_type": "*", "name": "same-secure", "expectation": "stripped-referrer", "expansion": "default", "redirection": "*", "source_context_list": "*", "source_scheme": "https", "subresource": "*"}, {"delivery_value": "strict-origin-when-cross-origin", "origin": "same-https", "delivery_type": "*", "name": "same-secure", "expectation": "origin", "expansion": "override", "redirection": "swap-origin", "source_context_list": "*", "source_scheme": "https", "subresource": "*"}, {"delivery_value": "strict-origin-when-cross-origin", "origin": "cross-https", "delivery_type": "*", "name": "cross-secure", "expectation": "origin", "expansion": "default", "redirection": "*", "source_context_list": "*", "source_scheme": "https", "subresource": "*"}], "description": "Check that a priori insecure subresource gets no referrer information. Otherwise, cross-origin subresources get the origin portion of the referrer URL and same-origin get the stripped referrer URL.", "specification_url": "https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-strict-origin-when-cross-origin", "name": "strict-origin-when-cross-origin", "title": "Referrer Policy is set to 'strict-origin-when-cross-origin'"}, {"test_expansion": [{"delivery_value": "unsafe-url", "origin": "*", "delivery_type": "*", "name": "generic", "expectation": "stripped-referrer", "expansion": "default", "redirection": "*", "source_context_list": "*", "source_scheme": "*", "subresource": "*"}], "description": "Check that all sub-resources get the stripped referrer URL.", "specification_url": "https://w3c.github.io/webappsec-referrer-policy/#referrer-policy-unsafe-url", "name": "unsafe-url", "title": "Referrer Policy is set to 'unsafe-url'"}], "test_expansion_schema": {"delivery_value": [null, "no-referrer", "no-referrer-when-downgrade", "same-origin", "origin", "origin-when-cross-origin", "strict-origin", "strict-origin-when-cross-origin", "unsafe-url"], "origin": ["same-http", "same-https", "cross-http", "cross-https"], "delivery_type": ["attr", "rel-noref", "http-rp", "meta"], "subresource": ["iframe-tag", "img-tag", "script-tag", "a-tag", "area-tag", "xhr", "worker-classic", "worker-module", "sharedworker-classic", "fetch"], "expectation": ["omitted", "origin", "stripped-referrer"], "expansion": ["default", "override"], "redirection": ["no-redirect", "keep-origin", "swap-origin"], "source_context_list": ["top", "req", "srcdoc-inherit", "srcdoc", "iframe", "worker-classic", "worker-classic-data", "worker-module", "worker-module-data"], "source_scheme": ["http", "https"]}, "source_context_list_schema": {"srcdoc-inherit": {"subresourcePolicyDeliveries": [], "description": "srcdoc iframe should inherit parent Document's policy", "sourceContextList": [{"sourceContextType": "top", "policyDeliveries": ["policy"]}, {"sourceContextType": "srcdoc"}]}, "worker-module": {"subresourcePolicyDeliveries": [], "sourceContextList": [{"sourceContextType": "top", "policyDeliveries": ["anotherPolicy"]}, {"sourceContextType": "worker-module", "policyDeliveries": ["policy"]}]}, "worker-module-data": {"subresourcePolicyDeliveries": [], "sourceContextList": [{"sourceContextType": "top", "policyDeliveries": ["anotherPolicy"]}, {"sourceContextType": "worker-module-data", "policyDeliveries": ["policy"]}]}, "worker-classic-data": {"subresourcePolicyDeliveries": [], "sourceContextList": [{"sourceContextType": "top", "policyDeliveries": ["anotherPolicy"]}, {"sourceContextType": "worker-classic-data", "policyDeliveries": ["policy"]}]}, "top": {"subresourcePolicyDeliveries": [], "description": "Policy set by the top-level Document", "sourceContextList": [{"sourceContextType": "top", "policyDeliveries": ["policy"]}]}, "req": {"subresourcePolicyDeliveries": ["nonNullPolicy"], "description": "Subresource request's policy should override Document's policy", "sourceContextList": [{"sourceContextType": "top", "policyDeliveries": ["anotherPolicy"]}]}, "worker-classic": {"subresourcePolicyDeliveries": [], "sourceContextList": [{"sourceContextType": "top", "policyDeliveries": ["anotherPolicy"]}, {"sourceContextType": "worker-classic", "policyDeliveries": ["policy"]}]}, "iframe": {"subresourcePolicyDeliveries": [], "description": "external iframe's policy should override parent Document's policy", "sourceContextList": [{"sourceContextType": "top", "policyDeliveries": ["anotherPolicy"]}, {"sourceContextType": "iframe", "policyDeliveries": ["policy"]}]}, "srcdoc": {"subresourcePolicyDeliveries": [], "description": "srcdoc iframe's policy should override parent Document's policy", "sourceContextList": [{"sourceContextType": "top", "policyDeliveries": ["anotherPolicy"]}, {"sourceContextType": "srcdoc", "policyDeliveries": ["nonNullPolicy"]}]}}, "delivery_key": "referrerPolicy", "source_context_schema": {"supported_delivery_type": {"iframe": ["meta", "http-rp"], "worker-module-data": [], "worker-classic-data": [], "top": ["meta", "http-rp"], "worker-classic": ["http-rp"], "iframe-blank": ["meta"], "worker-module": ["http-rp"], "srcdoc": ["meta"]}, "supported_subresource": {"iframe": "*", "worker-module-data": ["xhr", "fetch"], "worker-classic-data": ["xhr", "fetch"], "top": "*", "worker-classic": ["xhr", "fetch", "worker-classic", "worker-module"], "iframe-blank": "*", "worker-module": ["xhr", "fetch", "worker-classic", "worker-module"], "srcdoc": "*"}}};
diff --git a/third_party/blink/web_tests/external/wpt/resources/chromium/nfc-mock.js b/third_party/blink/web_tests/external/wpt/resources/chromium/nfc-mock.js
index 84c2726..9211b8b 100644
--- a/third_party/blink/web_tests/external/wpt/resources/chromium/nfc-mock.js
+++ b/third_party/blink/web_tests/external/wpt/resources/chromium/nfc-mock.js
@@ -74,9 +74,9 @@
                       new Uint8Array(receivedRecord.data));
 }
 
-// Compares NDEFPushOptions structures that were provided to API and
+// Compares NDEFWriteOptions structures that were provided to API and
 // received by the mock mojo service.
-function assertNDEFPushOptionsEqual(provided, received) {
+function assertNDEFWriteOptionsEqual(provided, received) {
   if (provided.ignoreRead !== undefined)
     assert_equals(provided.ignoreRead, !!received.ignoreRead);
   else
@@ -149,7 +149,7 @@
 
       this.hw_status_ = NFCHWStatus.ENABLED;
       this.pushed_message_ = null;
-      this.pending_push_options_ = null;
+      this.pending_write_options_ = null;
       this.pending_promise_func_ = null;
       this.push_completed_ = true;
       this.client_ = null;
@@ -171,7 +171,7 @@
       }
 
       this.pushed_message_ = message;
-      this.pending_push_options_ = options;
+      this.pending_write_options_ = options;
       return new Promise(resolve => {
         if (this.operations_suspended_ || !this.push_completed_) {
           // Leaves the push pending.
@@ -256,8 +256,8 @@
       return this.pushed_message_;
     }
 
-    pushOptions() {
-      return this.pending_push_options_;
+    writeOptions() {
+      return this.pending_write_options_;
     }
 
     watchOptions() {
@@ -287,7 +287,7 @@
       }
 
       this.pushed_message_ = null;
-      this.pending_push_options_ = null;
+      this.pending_write_options_ = null;
       this.push_completed_ = true;
     }
 
@@ -296,8 +296,8 @@
       this.reading_messages_.push(message);
       // Ignores reading if NFC operation is suspended.
       if(this.operations_suspended_) return;
-      // Ignores reading if NDEFPushOptions.ignoreRead is true.
-      if (this.pending_push_options_ && this.pending_push_options_.ignoreRead)
+      // Ignores reading if NDEFWriteOptions.ignoreRead is true.
+      if (this.pending_write_options_ && this.pending_write_options_.ignoreRead)
         return;
       // Triggers onWatch if the new message matches existing watchers.
       for (let watcher of this.watchers_) {
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
index b85583f..9c9de003 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index df420b3b..13c51ce 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index d4bb05e8..3135cc6 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 6d155094..4fe6ab5 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 7a7fa66..7447bbe 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index f4a2cf3b..229c395 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 77d852e..ccb1ba7 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 8ddeada..9c6aa96 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index ae8d161..4af67909 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 32f330f..608b479 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 52dd2dba..b114aab 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 88463653..fb1cb53f 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 4e663d5..42d1d899 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 3fe338de..d7e03c78 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index d3b84f0..ea90dcf5 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index e6f8e35..702c96a1 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 0ad5ed1..1975708b 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index bd2ed05..931e800 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 86b0170..721e359 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 274908b..f6a0cdc 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 763fbd6d4..e3181df 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index fe77266..d85c636 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 7e27068e..248a1c3 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 1144a7b9..09afa4a 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 47ecc6f..6b84e67 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 3a75e26..bdd607e 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index cfb4519..4d52cdeb 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 79e6ad25..c9bdf65 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 68064dc..e67e525 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index fdb0f73e..431ad44 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index df11191..5f13b36 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index e3e47cf..4d25d60c 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 5976eb13..a7ae596 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 6193235..3935470 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 6c0cc3a..e638a44 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 73f1ba5..2b3bb7e 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 0267b811..0e9543f 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index dc014de..df1c0cf 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 781d3c6..fcd6e8a 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 9475c53..c7418b6b 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 7e574f9..66cca76 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 8e0e431c..4ccda76 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 70314595..17a743f 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 126a81d..2d151d9 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 9c4e0e2..f150340 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 1360503..3ec31ff 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 5ed35529..522553b6 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index a61c8f7..cad4622 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 61b78e8..9577b03 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index e4d12ee6..cada0f4 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 806e148..6fb498e 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 11890a31..1bd15a7 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 4158e4e4..3f2b2407 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 032ddc9..408ee4c 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 63081ef5..a717fb6a 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index abd52ef..612e119 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 9c7b931..a1f795f 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 4cfa501..678fecd 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index a4aebcbbd..e9c11fc 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 8eb246c..2b5ad96 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index ce5fcdc..1799a9eb 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index a765c02..f7d0927 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index d83ecef..2d7cca9 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index d7d6ff4..2195c81 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 34b9b4a..21103ffc 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 45715ea..ec1b48e 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 99a80ac..ebf1ddc 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 2776905..9643c59 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 275dc056..578aaa8 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 3f72a04a..19af6b4e 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index e038c8e..1a25c627 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 367bedfb..67465fe 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 45c8a2c..63ed380 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 8b3ad88..dc5e929 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 9d9fe1d..ae96afc 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index d08ddfb..4389e79c 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index e9e26b1..3f19963 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 37d16b6..906fe393 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 3336529..96b32dc3 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 35ffbd7..14064fd 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index b92163e..df5f7cf 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index bab2213..47109c5 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 7a1e3f5..65990ae 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 87f334e..e06f46e 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 077f00c..c60709b 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 112f3c0..bec4fb9 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index fa4303f50..8b48b85 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 066aae1b..aba5655 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 7611729..78f91b1 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 4d815c0..a8c1f60 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index cde4f05..67931e2 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 3ef1807..a420b76 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 1162d57..c017e8c2 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index a001d36..f288ec70 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index c120ee1..de6d8e0 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index ddc7514..a9385cd9 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index f55db96..6cf723c 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index f16e215..597225f 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 461d81f..655557d 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index cfb5a665..339e78b77 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index eef7cf4..7b9a90f 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 4b45675..e6ee8929 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 1305ce8..c4018e73 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index eac2bbf..cafea33 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 6a03e57..62b7157 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 2a38cb5..a8655a8 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 9e3e1bf..2b2677a 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 884844f..a63e0e9 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 5f4ef1d..1bd43d71 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 800de21..d148162 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index ccbff1f..a79e3c6 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 6fcd983..7010694 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index c033a44..208365f 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 99cee0b2..e5c4a1f 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index b542ddc..0c1aa11 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index a11b956..3f75dd6 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 0369b4d..f10db85 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index b10b8bc..13138237 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 276c608..b89ca84 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index a8178823..3a6ef2d 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 1c88f006..93d0b56 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 80299bba..5a706ea7 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 2d7a207..a52897c 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index a73e68b..4ca4a56 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index f3b00d6..773b363f 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 4b42be9..a4ef7937 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 279fb69..6ff75d0a 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 302bc0c..8a8a3ad 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 5f90729..3336b93 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index b639698..ef5059e 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index ce203e6..c1b6b81 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index efb1987..eec4f30 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 6baa7f45..71a5f8e 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 439a7c9..c9427314 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 3fad5f1..5715320 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index ff5bd878..19fdd9e 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 350f8a6..6351a2a 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 5662c12d..53d0444 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 5fb887f..af419eb 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 36d14f7..383ef53 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 35298ee..7695e21 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index ecc03d2..0ffaa8a 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 4dff0bf..2d3f37b 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 14206c8f..0c11b873 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 82b7ecbe..e8bd73f 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index a5885baa..83bd891b 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 47337cd..9e71b60 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 2a03d160..207dc1b 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 7fe5ae1..1fd1b65 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index b6b6e02..7c3716a4 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index abd8f262..ae72b58c 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 14bcb5f..dcdbb6a 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 241ef91..cabced3 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 0b3ea13a..5d42ff4 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 01023441..67c05c7 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index ced106f..96d4cf8 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 96bb1c7..55dab1be 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index d63911d..ebd45d9 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index f7dd011..2790511 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 072e5d3c..138f5e1 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 89f86130..2782ed1 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index ded8c832..ac8b65a 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 7ebca39..a3760aa9 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 266bb33..b59a969 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 2d2cbdc..ae1f7ca 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index b37b7ad..b9bb91b9 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 9e8c20c..7857def 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index cc521e7..996501e 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 59b4555..93fb65f 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index e0a2a80..f5b4a99 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 0c0fe5c..f762298b 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 8d3ab709..8855ee1 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 4bbdbc0..415f306d 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index e2c199e..11b4f6cb 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 614e6e83..5528ff6 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index ee3bfda..f677ac5 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 969e0cf..9ef3ddf 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index af181e94..ca46e296 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 6f165b8..29ad963 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index c154ae6..eadf65c 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 19cada4..66e4fe8 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 7cfede2..8e1384f 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 54a5e9a..1db67f2 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 9ec1a67..d31e2c8 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 9b4828a..bb4cd08 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index f6342e1..931b55e7 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 4896679..c1a84d1 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index efa9eba..c5febd9 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 2e78cec6..4f2ac5e 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 7c3d637..5c4e84b3f 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index ec4bc93..277181b 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 139b07b..7bc80458 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 0c325ea..15b0068 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index e82d1c1..7536b0d 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 64ba3c2..a4accfd 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index f7251e7b..47d3a94 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 4eb3197..81817a9 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 91eb40ea..4bb57db 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 36554b7..5ed7f7b 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 8212f34..d4665f4 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 5cb9d5f..c6390dc 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 7d6a1f9c..76410cfc 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 106ec5300..9b13c7b 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index ca8c3d6..b874294 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index dbd24d3..42e20249 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 6514b98..9363904 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 18f4960..b738fa5 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 0c16aff..ce6ed5ea 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 524b56d..a76b985 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index c6339c9..5970537 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index da5ea1a..e8d97f6 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 3896037..257d4f59 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 039baf9..5f400ca 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 0309cb0..2acfaba 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 2434b964..40d119b1 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index ba6f778..0c691b4 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 6ebeaa6d..6cc28eb 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index c1c8635..f34a8843b 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 9298d15d..63c32d1 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index a26939d28..ccab743 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 2a4cf1e5..dd5a07ae 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 154b6d0..c495e67 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index bb1c98a..85ab9af8 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 1c7729e..f1ec2b85 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 9672cfa..aa9280e 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 673dcb3..c043ed3 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 4ef84c7..15e6ad2 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 6b6d8d9..a18b8f14 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index c7e3806..2b5e675 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index e25c166..e95acc2a 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 911ba14..9e6eca74 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index e436271..c08cf71 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 0248efb..75478c0 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 06194f2..ffc0a7b 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index bf9cada..1243c576 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 413116bc..64632c6 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index c067eba1..4afab48 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 141146d..b32fc7d 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 075d6d2e..5d33533 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 5f93b90..5409a86d 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 494acbe..640fc9c 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 8342a27..715b127 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index de0e3f5..cd0dbe2 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index ca849d8..747c029 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 276e785e..c85a6cb 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 0cb383a..f45855c 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index eb79935..3e5bcb4 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 823e1f1..08f7e75 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index d28a67c..886417f 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 8afab24..cd96e54 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 95bfb17..93e3b9b 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index c54e3fa..debc2f8 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 0608f35..c1200df 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 6d1eaad..c9ab2de 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 31a8aece..24a3a5e 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index dd9c10d2..3a8af01 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index c7db718..b7f0a3d 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index d1f554ff..2e79c39 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 474b54b2..0978ef6 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index a72e46f..335792e 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 212288de..603fac3 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 8647515..5383e83 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index e1eb57b..c09e7ba 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index bb11019..6427387 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 8edb94b..2aec53e2 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 38d91f26..4bcfa70 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 2bce883..ccf34f0e 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index a551418..aee9de0 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index f4d9cc7f..5bfb72d9 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 123b1eb..cbe4154 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index c64f245..eeffa86 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index f9d1194..b2b97f9 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 5b132dd..d1aed06 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 6b0f777..a6b861d 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index fc07cfc..24b4b80 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 06b2b8e..2726b85 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 0c84e45..dcf7afe 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 9430c55..5b1aeb9 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 5d78db1e..baec695 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 818f018..ebe5c7d 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 3c5eb7f..5df9e97 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index d636efd..b822e93 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 24eb4fcd..592789b6 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index c71a1f2..48ff84b 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 1b20088..c31b8234 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 24badc0..7c40b6b 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 3b90431..4ee70c5 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index d8df110..a37cf7b 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index b1f5b39f..75e6a88 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 64e96fd5..25ada11 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 90368ad..8039249 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 7155bca..ab26c04 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 1293e4b..c415822 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index f045f76b..9785dbe 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 4e846317..c4676db 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index c1c95cc..fc590e7 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index d9bcd01..d814072 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 26eeefb..75cbf682 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 2208f88..61b8125 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 6a09e8c..a3a3783 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index c249771..bb07520c 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 42b62af..77d6de8 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 90fe184..9682eb5 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 1288c7c6..9214bb2f 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 07c27fe..799ba8f4 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index b7a12e0..c43defe 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 5f27dc4d..1ef76ad7 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index a0fa92b..f1d0373 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index fd35b79..e232edb 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index ee34404..fb81b720 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index db38f14..d74188c 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 504cf09..50866e6 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 698a985ae..1fb0f2e 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 5d7e021..d89c57b 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index d3a6c681..17020aa 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index f50e00ed..cbe51e4 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index effd4a26..7cf4fb04 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index f19484b..948b6bf 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index db00900..65ab28b 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 706e439..1b47c22 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 581cbcdf..5b36e1a 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 1dfadd6..d783f80 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 9f56262..7b31f2a 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index bcfec76..f6c93b7 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 71d5629d..ff00362 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index ad67ada..f9069e2 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index aa302da..94cd0ed1 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index f108bda..af924c3 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 6b05e643..263d468 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 6b5418df..bbd703b 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 81c6958..505aaae 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 29acc0e..b0d058b 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 7fe40097..7696a89d 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 0a03c48..822edf5 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 1d2c5933..bb9c6023 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index b3ebc435..c94b8ef 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 26279c5f..f51fdfba 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 5e1a4ec..4988c54 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 46cee95..fee2bb2 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index b2b9bbd4b..4217fdd 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index e5dd3eb3..f5a48ff4 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 6c642903..4a42bb7f 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 6ac8293..27363a5 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index f17b252..a4f49c19 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 1df14a9..6e2e81af 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index b2f2dbb..57c7ec6 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 189232b..f1100f2 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 8adac34..4cf1a67 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 91e1935..cfb87f8 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 79dd7c5..022a8c8 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 15443fa2..23a16e4 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index d72acbf..a3300e5 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index b22b35d..7e3d77a 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index e3a5967..34fc720 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index dd4c6d8..e0a92b6 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 3068ecc..5c88d56 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 2a7790c..6b2c0ad 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 6911881f..ec3c8b92c4 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index bf18d02..3a06038 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 5f031da8..d9bca21 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 63e6c10..2cb2510 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 4769b3e4..f138357a6 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index c8da091c..92b9a40 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 0ad59eb..c6117f3 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 128fe831..add0d38e 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index d11fcf97..f6cbe1d 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 6032303..dd12ac2 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 661356c3..c4b777f 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index c412844..9d71e02 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index fff93a9e..809a31c 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index b63847a7c..206d906 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 5f53c2b..ec54a83 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 0d890c4..668dbe9 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index bfcb628c..f5ecd77 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 9eccbf01..ec03696 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 8e5ea4a..4cee4e76 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 470727e0..d4ddc30 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 4a52dfc8..123a25f 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 805622a8..a2a7b19 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 71761b8..793f743 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index abd781bf..8a39a3b 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 514ea38..2c4a4d25 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 3b56e7a..424b759 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 2d0474e..acc4563 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 71353a3..3d2700d8 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 8490d93..d649c4a 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index cf8591f..88bba76 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 9117f94..a425a01af 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index f01a9c0..82fe96a 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 1f7b24ce..506eea2 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 4dda1d0..3bc3219 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 668bde7..82c28b4 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 6c94064..e372fb7 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 89a5aef..8b76074 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 0cbf66c6..d970aff4 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 6e4e8ab..6d4ae6a2 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index ab1f02a..ab61f32 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 8960779..23e3971 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 49b7df1c..4a763c2 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 8e4b923..3679417 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index d4a95355..5b7798c 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index a8c88f4b..457f0ac 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 2f39bbb..6ca81ac 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 5f9500e2..f64e2b5b 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 18cd96e..7019e56 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index ba6ed32a..1db825e 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 309dd78..bcb233b 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 12f598f..072dcf8 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 20c901c..69c44ac6 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 9b59f0ae..7dc6907 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index feae96d..64d386c 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 636ab9d..68069ce 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index bff934a..fe9618f 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 3d8d86a..b8534b5 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 5d78867..dfd4d45 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index cb0d12c..9737ddf 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index cddebab..86a314c 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index e4bd2b688..63fb7f3 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 34daf23..edc1444 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 015697f..1322a7f 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index f7fca44..dce5c13 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 4361785..16d2f26 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 9c4a613..d2fca9c 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 771fa29..d2643919 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 6aa3f6295..f8033e5 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 8190133..6cabd86 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 3251746..6052e36 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index d7c86b06..d7804ca 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index ca62ab7..6630040 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index d2378fc..3154f62 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 74b9a4a5..f0a205f 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index d94776f..c7c2dee 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index aa33297e..2ce9ec2f 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 0619d47..75c40dbd 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index a91c13c..d7252179 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index a1d2892..88c5373 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 56a8227d..ba6c4ce 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 6c551a5..92f5b1a 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 41d1547..1aabb8d 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 0278c5e..00ac29b 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index cdacbb0..a49ef62 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 711b035..05bca54 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index c3f5fc8..471e943a 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 234c639e..7eb1ffb0 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index d926e881..269769f 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index fca4a5a..67efa81 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 25294d3..83500403 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 5e8853d..87f89f3d 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 4518ced..8905e77 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 2ad6b43..a5f2357 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 6ed6f53..f41f7ca 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 93dd9d9..2414d7c 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 707c260e..a9eb728 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 49a3a0d..cb7616f725 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 7b308e35..fa4310e 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 84afe5cf..58c4519 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index e00d307..0168e00 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 8bcf542..2cb08cb 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 8ca7ccb65..812df4c 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index caaefae..c01c4958 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 61aca5a..c9adb7b 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 3288cbe..d1352fd 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 3c0208cb..30b3efe 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 67ae9a77..071be8c 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 71ca833..c7096af 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 88826a8d..3a1d79e 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 123bc13d..77db067 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index a5bc2c8..ca03333 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 075e9d5..34d1a7a 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index bec65611..e4fc17a 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index d9bb535..8999ab8 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index bf16f45e..2c7b37e 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 23ad040..48f25895 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index c10b93b..9abef9b 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index b40c22f..c36e94d 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index c13ca341..a38c0dec 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index e14ba51..15bab979 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 3f31344..a5886371 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index fe106b2..3b773c72 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 0116fd81..17a6e6c 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 41db74a..aae6189 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 48d9592..022b2b2 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 9d32ee1..7ebcd3a 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index f16f22c..2209880 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 9933d1d..9c3a668b 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 0977204..503f0d9 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 5da525d..402a59c 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 3391cc8..518cbc3 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index dedd217..bfd5206 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index f07dad18..88ea4837 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 61569fd8..4a56f46 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index ace49d0..91e7912d 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index c266298..20d573b 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index db6a1876..a092525 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 1e1a8faf..1154b71 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index fec20a09..6910988 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index aef2b52..efd4372 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index d358584..1dc63d1 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 3a6e93df..794f83b 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 47fd0a4..5d0d822 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 67a22ed..968b3f22 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 055606e..d5a6774 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 34f1d798..a1772947 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 23707ba63..d4b582e 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 0b5cbe6f..e75284c1 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 7fa1f6e2..2b6b020 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 40658ef..fa7ee4d 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 5a666891..367dd04 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 4b15e55..104a41a 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index ca8c71f..110c4c2 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 6ee26e1..9e84879 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 08ae852d..70762bc 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 669fadb..72244a8 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 751ff7e..11a5abb 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 3867169..8232613 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 6986a78..b8e2694 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index a29f620..6f6c1f9 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 93383d5b..30aa921 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 346bb6b..7cf00d3 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 869fc00..7e1946d 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 542c183..663dc0f 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index eba63c36..0b4765b 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 1dc5f08..41cb8a69 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 01a84d6..08342983 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 8589ff6b..b1bb994 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 30314fc..e3502179 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index daa420b3..df54f05e 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 383f42ed..5e8dc07 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index beae338..98f6696 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 685ebe4..a9955b4 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 4bbfd757..506b71e 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index cb5cc3a4..1ef6a56 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index a5325b3..b57e26b 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index cfe8614..8758bd1 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index f9750e1..2138d47 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 3b08b72..0549df7 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 8d0a80a..2756e62 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index d5ebb85..9ecd3ed 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 5d6d8f5..6339cb7 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 63b5c8c..c36c0d1 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 09be764..1dd755c 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index e86f753..ab3f5a2 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 4f2e231..a9c65e8 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 86958e9..d454662 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 70507d3..79ab707 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 71764a1..b0cfe5bb 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index c0c141a..aa674cad 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index baef52d..16e6ac5 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 25f2948..9eedc83 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index ab64980..66f477d 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 066d34c..bb832d5 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 073a0ae8..87a03bb 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 00cd0d4..190e37f 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 5d0e23e..78b431b 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 08bf866..22fffb7 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 8858a09..65f84d20 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index dfebfd1..dd559d15 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 344837e..a460071 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index cf36e01..26fe5b4 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 7b863f6..fef4c2b 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 52c92774..03d1b99 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 81a16de..ff5f284 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 94ffe6c..cf8c9f4 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index c83cb3a..04a459c 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 26eb205..152ae93 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 18316c62..23ebc58 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index e86ab02..24fbc562 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index d671b9d4..d65b8ec 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 74414280..17c17fa 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index b81d616..537db7e 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index e24be56b..63242d0 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 5783bb8..eafb6c1 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index fad7c7c..033297a0 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index fb7fa4d..468ec10 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 6c340d99d..007d9ad 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index e01c62a..2aa5e96e 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 3550747..2841b99 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index ca0d0e6..b8fcfc4 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 49557f2..3aea026d 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 3fd3641..a6a1a5d3 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 02b1038c..f84d2eb 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 8c17faf..de18eee 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 415ca3d7..a6d61ca4 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index d36faeb..078155b 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 329b41e..3f3cc573 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 09f9a35..5ffee9e 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 5face3b0..aac6bdc 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 5ca6b71..6e3b86a 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 9addf82a..ccb6f57 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 00228ef7..7a4a3136 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 000ce5e3..e1901a4 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 5216ccb..3ca933fd 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 464b8d5..bcf8c88 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 369e519..413ce2f 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index cb97e53..c3842d2 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index d7706cc..864b2fa 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 7b49006..755b4c9 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 18995bd..91499ff 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 6b8c53a..3400760 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 8acdd3c..9bb3f8ff 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 26167e1..d5a4f4f 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 13ef09cb..d3edb0a 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index cc56f51..cb642c6 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 7b622c2..585677a 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 2ce3df1..e828b3e 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 7516c16..f9feb998 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 404386e5..d6d7f170 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 53b77d6..423363e 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 69d4741f..ea033c4 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 9a1585d..a00354d 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index da6197f..99b2a02 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index ab1c859..c2f8529 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 937aaaa8..138d0e8 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 99e1072..41824550 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 1d152f6..107797df 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index d6babfe..79523a19 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index a0c28b07..9768f6d84 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 9c7776e6..3567cc99 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 8300d8f..a482929b 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 96e7c41d..fd7f6987 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 146599f5..1d5958d 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index eb6c568..a332328 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 2fe37db..d7d0438 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index e24fc08..dd685a04 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index b065f13..9439de7 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 6ef001b..06309cf 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index c236aa3..d6658f0 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index ba07fe78..067ea1da 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 04fb348c..57b1b0f 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 85b2a842..5040b96 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 47a6635e..c1ef174 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 53c56a1f..dc7a3a5 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index b4b9b6f..b1c00eb 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 4a92b5e..0ede556 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 0bb47da..103199a 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 4a7ea8a..875fac3 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 67d232b6..917e6f0 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: No upgrade-insecure-request</title>
@@ -11,7 +11,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 30a0959..93ff711 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index c726a18..68bba09 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 8d273ac..b06493d4 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 8c50860..bb0cb7b 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 364e95b..bfaca7e 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index f07d94d..d510227 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index fa6232d..ff912b7 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 2da66439..5ee2337 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 46518de..8981c90 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 3e8fe26..8fa2612 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 4c2853f..f945ca10 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index e3dbf9f..0ef614a 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 002ed40..9a57842 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
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
index 43c8dcf..e993c3ab 100644
--- 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
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<!-- DO NOT EDIT! Generated by upgrade-insecure-requests/generic/tools/generate.py using common/security-features/tools/template/test.release.html.template. -->
+<!-- DO NOT EDIT! Generated by `common/security-features/tools/generate.py --spec upgrade-insecure-requests/` -->
 <html>
   <head>
     <title>Upgrade-Insecure-Requests: With upgrade-insecure-request</title>
@@ -12,7 +12,7 @@
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
     <script src="/common/security-features/resources/common.sub.js"></script>
-    <script src="/upgrade-insecure-requests/generic/test-case.sub.js"></script>
+    <script src="../../../../generic/test-case.sub.js"></script>
   </head>
   <body>
     <script>
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/generic/spec_json.js b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/generic/spec_json.js
new file mode 100644
index 0000000..822afa11
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/generic/spec_json.js
@@ -0,0 +1 @@
+var SPEC_JSON = {"selection_pattern": "%(source_context_list)s.%(delivery_type)s/%(delivery_value)s/%(subresource)s/%(origin)s.%(redirection)s.%(source_scheme)s", "test_file_path_pattern": "gen/%(source_context_list)s.%(delivery_type)s/%(delivery_value)s/%(subresource)s/%(origin)s.%(redirection)s.%(source_scheme)s.html", "test_description_template": "Upgrade-Insecure-Requests: Expects %(expectation)s for %(subresource)s to %(origin)s origin and %(redirection)s redirection from %(source_scheme)s context.", "test_page_title_template": "Upgrade-Insecure-Requests: %(title)s", "specification": [{"name": "No upgrade-insecure-request", "title": "No upgrade-insecure-request", "description": "No upgrade-insecure-request", "specification_url": "https://w3c.github.io/webappsec-upgrade-insecure-requests/", "test_expansion": [{"name": "Without upgrade-insecure-request, all requests are blocked ...", "expansion": "default", "source_scheme": "https", "source_context_list": "*", "delivery_type": "meta", "delivery_value": null, "redirection": "*", "subresource": "*", "origin": "*", "expectation": "blocked"}, {"name": "... except for the secure requests listed here", "expansion": "override", "source_scheme": "https", "source_context_list": "*", "delivery_type": "meta", "delivery_value": null, "redirection": "no-redirect", "subresource": "*", "origin": ["same-https", "cross-https", "same-wss", "cross-wss"], "expectation": "allowed"}]}, {"name": "With upgrade-insecure-request", "title": "With upgrade-insecure-request", "description": "With upgrade-insecure-request", "specification_url": "https://w3c.github.io/webappsec-upgrade-insecure-requests/", "test_expansion": [{"name": "With upgrade-insecure-request, all insecure requests are upgraded and allowed.", "expansion": "default", "source_scheme": "https", "source_context_list": "*", "delivery_type": "*", "delivery_value": "upgrade", "redirection": "*", "subresource": "*", "origin": "*", "expectation": "allowed"}]}], "delivery_key": "upgradeInsecureRequests", "excluded_tests": [{"name": "Omit secure requests", "expansion": "*", "source_scheme": "*", "source_context_list": "*", "delivery_type": "*", "delivery_value": "*", "redirection": "no-redirect", "subresource": "*", "origin": ["same-https", "cross-https", "same-wss", "cross-wss"], "expectation": "allowed"}, {"name": "For inheriting tests skip http-rp because we already have <meta> tests", "expansion": "*", "source_scheme": "*", "source_context_list": ["srcdoc-inherit", "iframe-blank-inherit", "worker-classic-data"], "delivery_type": "http-rp", "delivery_value": "*", "redirection": "*", "subresource": "*", "origin": "*", "expectation": "*"}, {"name": "Workers are same-origin only", "expansion": "*", "source_scheme": "*", "source_context_list": "*", "delivery_type": "*", "delivery_value": "*", "redirection": "*", "subresource": ["worker-classic", "worker-module", "sharedworker-classic"], "origin": ["cross-https", "cross-http-downgrade", "cross-wss", "cross-ws-downgrade"], "expectation": "*"}, {"name": "Websockets are ws/wss-only", "expansion": "*", "source_scheme": "*", "source_context_list": "*", "delivery_type": "*", "delivery_value": "*", "redirection": "*", "subresource": "websocket", "origin": ["same-https", "same-http-downgrade", "cross-https", "cross-http-downgrade"], "expectation": "*"}, {"name": "Websockets is no-redirect only", "expansion": "*", "source_scheme": "*", "source_context_list": "*", "delivery_type": "*", "delivery_value": "*", "redirection": ["downgrade"], "subresource": "websocket", "origin": "*", "expectation": "*"}, {"name": "ws/wss are websocket-only", "expansion": "*", "source_scheme": "*", "source_context_list": "*", "delivery_type": "*", "delivery_value": "*", "redirection": "*", "subresource": ["iframe-tag", "img-tag", "xhr", "fetch", "worker-classic", "worker-module", "worker-import-data", "sharedworker-classic", "worklet-animation", "worklet-audio", "worklet-layout", "worklet-paint", "worklet-animation-import-data", "worklet-audio-import-data", "worklet-layout-import-data", "worklet-paint-import-data"], "origin": ["same-wss", "same-ws-downgrade", "cross-wss", "cross-ws-downgrade"], "expectation": "*"}], "source_context_schema": {"supported_delivery_type": {"top": ["http-rp", "meta"], "iframe": ["http-rp", "meta"], "iframe-blank": ["meta"], "srcdoc": ["meta"], "worker-classic": ["http-rp"], "worker-module": ["http-rp"], "worker-classic-data": [], "worker-module-data": []}, "supported_subresource": {"top": "*", "iframe": "*", "iframe-blank": "*", "srcdoc": "*", "worker-classic": ["xhr", "fetch", "websocket"], "worker-module": ["xhr", "fetch", "websocket"], "worker-classic-data": ["xhr", "fetch", "websocket"], "worker-module-data": ["xhr", "fetch", "websocket"]}}, "subresource_schema": {"supported_delivery_type": {"xhr": [], "worker-classic": [], "worker-module": [], "worker-import-data": [], "sharedworker-classic": [], "worklet-animation": [], "worklet-audio": [], "worklet-layout": [], "worklet-paint": [], "worklet-animation-import-data": [], "worklet-audio-import-data": [], "worklet-layout-import-data": [], "worklet-paint-import-data": [], "fetch": [], "websocket": [], "img-tag": [], "iframe-tag": []}}, "source_context_list_schema": {"top": {"description": "CSP set by the top-level Document", "sourceContextList": [{"sourceContextType": "top", "policyDeliveries": ["policy"]}], "subresourcePolicyDeliveries": []}, "srcdoc-inherit": {"description": "srcdoc iframe should inherit parent Document's policy", "sourceContextList": [{"sourceContextType": "top", "policyDeliveries": ["policy"]}, {"sourceContextType": "srcdoc"}], "subresourcePolicyDeliveries": []}, "iframe-blank-inherit": {"description": "blank iframe should inherit parent Document's policy", "sourceContextList": [{"sourceContextType": "top", "policyDeliveries": ["policy"]}, {"sourceContextType": "iframe-blank"}], "subresourcePolicyDeliveries": []}, "worker-classic-data": {"description": "CSP set by the top-level Document is inherited to dedicated workers", "sourceContextList": [{"sourceContextType": "top", "policyDeliveries": ["policy"]}, {"sourceContextType": "worker-classic-data", "policyDeliveries": []}], "subresourcePolicyDeliveries": []}}, "test_expansion_schema": {"expansion": ["default", "override"], "source_scheme": ["https"], "delivery_type": ["http-rp", "meta"], "delivery_value": [null, "upgrade"], "source_context_list": ["top", "srcdoc-inherit", "iframe-blank-inherit", "worker-classic-data"], "redirection": ["no-redirect", "downgrade"], "origin": ["same-https", "same-http-downgrade", "cross-https", "cross-http-downgrade", "same-wss", "same-ws-downgrade", "cross-wss", "cross-ws-downgrade"], "subresource": ["iframe-tag", "img-tag", "xhr", "fetch", "websocket", "worker-classic", "worker-module", "worker-import-data", "sharedworker-classic", "worklet-animation", "worklet-audio", "worklet-layout", "worklet-paint", "worklet-animation-import-data", "worklet-audio-import-data", "worklet-layout-import-data", "worklet-paint-import-data"], "expectation": ["allowed", "blocked"]}};
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/generic/tools/generate.py b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/generic/tools/generate.py
deleted file mode 100755
index 4c19f4c..0000000
--- a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/generic/tools/generate.py
+++ /dev/null
@@ -1,40 +0,0 @@
-#!/usr/bin/env python
-
-import os
-import sys
-
-sys.path.insert(
-    0,
-    os.path.join(
-        os.path.dirname(os.path.abspath(__file__)), '..', '..', '..', 'common',
-        'security-features', 'tools'))
-import generate
-
-
-class UpgradeInsecureRequestsConfig(object):
-    def __init__(self):
-        self.selection_pattern = \
-              '%(source_context_list)s.%(delivery_type)s/' + \
-              '%(delivery_value)s/' + \
-              '%(subresource)s/' + \
-              '%(origin)s.%(redirection)s.%(source_scheme)s'
-
-        self.test_file_path_pattern = 'gen/' + self.selection_pattern + '.html'
-
-        self.test_description_template = 'Upgrade-Insecure-Requests: Expects %(expectation)s for %(subresource)s to %(origin)s origin and %(redirection)s redirection from %(source_scheme)s context.'
-
-        self.test_page_title_template = 'Upgrade-Insecure-Requests: %s'
-
-        self.helper_js = '/upgrade-insecure-requests/generic/test-case.sub.js'
-
-        # For debug target only.
-        self.sanity_checker_js = '/upgrade-insecure-requests/generic/sanity-checker.js'
-        self.spec_json_js = '/upgrade-insecure-requests/spec_json.js'
-
-        script_directory = os.path.dirname(os.path.abspath(__file__))
-        self.spec_directory = os.path.abspath(
-            os.path.join(script_directory, '..', '..'))
-
-
-if __name__ == '__main__':
-    generate.main(UpgradeInsecureRequestsConfig())
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/spec.src.json b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/spec.src.json
index 6aee9a2..dcf6300 100644
--- a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/spec.src.json
+++ b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/spec.src.json
@@ -1,4 +1,8 @@
 {
+  "selection_pattern": "%(source_context_list)s.%(delivery_type)s/%(delivery_value)s/%(subresource)s/%(origin)s.%(redirection)s.%(source_scheme)s",
+  "test_file_path_pattern": "gen/%(source_context_list)s.%(delivery_type)s/%(delivery_value)s/%(subresource)s/%(origin)s.%(redirection)s.%(source_scheme)s.html",
+  "test_description_template": "Upgrade-Insecure-Requests: Expects %(expectation)s for %(subresource)s to %(origin)s origin and %(redirection)s redirection from %(source_scheme)s context.",
+  "test_page_title_template": "Upgrade-Insecure-Requests: %(title)s",
   "specification": [
     {
       "name": "No upgrade-insecure-request",
diff --git a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/spec_json.js b/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/spec_json.js
deleted file mode 100644
index 9122ce3..0000000
--- a/third_party/blink/web_tests/external/wpt/upgrade-insecure-requests/spec_json.js
+++ /dev/null
@@ -1 +0,0 @@
-var SPEC_JSON = {"subresource_schema": {"supported_delivery_type": {"worklet-layout": [], "worklet-paint": [], "worker-module": [], "sharedworker-classic": [], "worklet-paint-import-data": [], "worklet-animation-import-data": [], "fetch": [], "xhr": [], "worker-classic": [], "worklet-layout-import-data": [], "worklet-audio-import-data": [], "worklet-animation": [], "worker-import-data": [], "websocket": [], "worklet-audio": [], "iframe-tag": [], "img-tag": []}}, "excluded_tests": [{"delivery_value": "*", "origin": ["same-https", "cross-https", "same-wss", "cross-wss"], "delivery_type": "*", "name": "Omit secure requests", "expectation": "allowed", "expansion": "*", "redirection": "no-redirect", "source_context_list": "*", "source_scheme": "*", "subresource": "*"}, {"delivery_value": "*", "origin": "*", "delivery_type": "http-rp", "name": "For inheriting tests skip http-rp because we already have <meta> tests", "expectation": "*", "expansion": "*", "redirection": "*", "source_context_list": ["srcdoc-inherit", "iframe-blank-inherit", "worker-classic-data"], "source_scheme": "*", "subresource": "*"}, {"delivery_value": "*", "origin": ["cross-https", "cross-http-downgrade", "cross-wss", "cross-ws-downgrade"], "delivery_type": "*", "name": "Workers are same-origin only", "expectation": "*", "expansion": "*", "redirection": "*", "source_context_list": "*", "source_scheme": "*", "subresource": ["worker-classic", "worker-module", "sharedworker-classic"]}, {"delivery_value": "*", "origin": ["same-https", "same-http-downgrade", "cross-https", "cross-http-downgrade"], "delivery_type": "*", "name": "Websockets are ws/wss-only", "expectation": "*", "expansion": "*", "redirection": "*", "source_context_list": "*", "source_scheme": "*", "subresource": "websocket"}, {"delivery_value": "*", "origin": "*", "delivery_type": "*", "name": "Websockets is no-redirect only", "expectation": "*", "expansion": "*", "redirection": ["downgrade"], "source_context_list": "*", "source_scheme": "*", "subresource": "websocket"}, {"delivery_value": "*", "origin": ["same-wss", "same-ws-downgrade", "cross-wss", "cross-ws-downgrade"], "delivery_type": "*", "name": "ws/wss are websocket-only", "expectation": "*", "expansion": "*", "redirection": "*", "source_context_list": "*", "source_scheme": "*", "subresource": ["iframe-tag", "img-tag", "xhr", "fetch", "worker-classic", "worker-module", "worker-import-data", "sharedworker-classic", "worklet-animation", "worklet-audio", "worklet-layout", "worklet-paint", "worklet-animation-import-data", "worklet-audio-import-data", "worklet-layout-import-data", "worklet-paint-import-data"]}], "specification": [{"test_expansion": [{"delivery_value": null, "origin": "*", "delivery_type": "meta", "name": "Without upgrade-insecure-request, all requests are blocked ...", "expectation": "blocked", "expansion": "default", "redirection": "*", "source_context_list": "*", "source_scheme": "https", "subresource": "*"}, {"delivery_value": null, "origin": ["same-https", "cross-https", "same-wss", "cross-wss"], "delivery_type": "meta", "name": "... except for the secure requests listed here", "expectation": "allowed", "expansion": "override", "redirection": "no-redirect", "source_context_list": "*", "source_scheme": "https", "subresource": "*"}], "description": "No upgrade-insecure-request", "specification_url": "https://w3c.github.io/webappsec-upgrade-insecure-requests/", "name": "No upgrade-insecure-request", "title": "No upgrade-insecure-request"}, {"test_expansion": [{"delivery_value": "upgrade", "origin": "*", "delivery_type": "*", "name": "With upgrade-insecure-request, all insecure requests are upgraded and allowed.", "expectation": "allowed", "expansion": "default", "redirection": "*", "source_context_list": "*", "source_scheme": "https", "subresource": "*"}], "description": "With upgrade-insecure-request", "specification_url": "https://w3c.github.io/webappsec-upgrade-insecure-requests/", "name": "With upgrade-insecure-request", "title": "With upgrade-insecure-request"}], "test_expansion_schema": {"delivery_value": [null, "upgrade"], "origin": ["same-https", "same-http-downgrade", "cross-https", "cross-http-downgrade", "same-wss", "same-ws-downgrade", "cross-wss", "cross-ws-downgrade"], "delivery_type": ["http-rp", "meta"], "subresource": ["iframe-tag", "img-tag", "xhr", "fetch", "websocket", "worker-classic", "worker-module", "worker-import-data", "sharedworker-classic", "worklet-animation", "worklet-audio", "worklet-layout", "worklet-paint", "worklet-animation-import-data", "worklet-audio-import-data", "worklet-layout-import-data", "worklet-paint-import-data"], "expectation": ["allowed", "blocked"], "expansion": ["default", "override"], "redirection": ["no-redirect", "downgrade"], "source_context_list": ["top", "srcdoc-inherit", "iframe-blank-inherit", "worker-classic-data"], "source_scheme": ["https"]}, "source_context_list_schema": {"worker-classic-data": {"subresourcePolicyDeliveries": [], "description": "CSP set by the top-level Document is inherited to dedicated workers", "sourceContextList": [{"sourceContextType": "top", "policyDeliveries": ["policy"]}, {"sourceContextType": "worker-classic-data", "policyDeliveries": []}]}, "top": {"subresourcePolicyDeliveries": [], "description": "CSP set by the top-level Document", "sourceContextList": [{"sourceContextType": "top", "policyDeliveries": ["policy"]}]}, "srcdoc-inherit": {"subresourcePolicyDeliveries": [], "description": "srcdoc iframe should inherit parent Document's policy", "sourceContextList": [{"sourceContextType": "top", "policyDeliveries": ["policy"]}, {"sourceContextType": "srcdoc"}]}, "iframe-blank-inherit": {"subresourcePolicyDeliveries": [], "description": "blank iframe should inherit parent Document's policy", "sourceContextList": [{"sourceContextType": "top", "policyDeliveries": ["policy"]}, {"sourceContextType": "iframe-blank"}]}}, "delivery_key": "upgradeInsecureRequests", "source_context_schema": {"supported_delivery_type": {"iframe": ["http-rp", "meta"], "worker-module-data": [], "worker-classic-data": [], "top": ["http-rp", "meta"], "worker-classic": ["http-rp"], "iframe-blank": ["meta"], "worker-module": ["http-rp"], "srcdoc": ["meta"]}, "supported_subresource": {"iframe": "*", "worker-module-data": ["xhr", "fetch", "websocket"], "worker-classic-data": ["xhr", "fetch", "websocket"], "top": "*", "worker-classic": ["xhr", "fetch", "websocket"], "iframe-blank": "*", "worker-module": ["xhr", "fetch", "websocket"], "srcdoc": "*"}}};
diff --git a/third_party/blink/web_tests/external/wpt/web-nfc/NDEFWriter-document-hidden-manual.https-expected.txt b/third_party/blink/web_tests/external/wpt/web-nfc/NDEFWriter-document-hidden-manual.https-expected.txt
index 799e5509..d700bd8 100644
--- a/third_party/blink/web_tests/external/wpt/web-nfc/NDEFWriter-document-hidden-manual.https-expected.txt
+++ b/third_party/blink/web_tests/external/wpt/web-nfc/NDEFWriter-document-hidden-manual.https-expected.txt
@@ -1,4 +1,4 @@
 This is a testharness.js-based test.
-FAIL Test NDEFWriter.push operation should be suspend when document is not visible promise_test: Unhandled rejection with value: undefined
+FAIL Test NDEFWriter.write operation should be suspend when document is not visible promise_test: Unhandled rejection with value: undefined
 Harness: the test ran to completion.
 
diff --git a/third_party/blink/web_tests/external/wpt/web-nfc/NDEFWriter-document-hidden-manual.https.html b/third_party/blink/web_tests/external/wpt/web-nfc/NDEFWriter-document-hidden-manual.https.html
index 2f291e5..1a28398 100644
--- a/third_party/blink/web_tests/external/wpt/web-nfc/NDEFWriter-document-hidden-manual.https.html
+++ b/third_party/blink/web_tests/external/wpt/web-nfc/NDEFWriter-document-hidden-manual.https.html
@@ -1,7 +1,7 @@
 <!DOCTYPE html>
 <meta charset="utf-8">
 <meta name="timeout" content="long">
-<title>NDEFWriter.push respect page visibility changes</title>
+<title>NDEFWriter.write respect page visibility changes</title>
 <link rel="help" href="https://w3c.github.io/web-nfc/#visible-document">
 <script src="/resources/testharness.js"></script>
 <script src="/resources/testharnessreport.js"></script>
@@ -10,7 +10,7 @@
 
 promise_test(async t => {
   const writer = new NDEFWriter();
-  const p1 = writer.push(test_text_data);
+  const p1 = writer.write(test_text_data);
 
   return await new Promise((resolve, reject) => {
     p1.then(() => {
@@ -20,7 +20,7 @@
       reject();
     });
   });
-}, "Test NDEFWriter.push operation should be suspend when document is not visible");
+}, "Test NDEFWriter.write operation should be suspend when document is not visible");
 
 </script>
 
diff --git a/third_party/blink/web_tests/external/wpt/web-nfc/NDEFWriter_push.https-expected.txt b/third_party/blink/web_tests/external/wpt/web-nfc/NDEFWriter_push.https-expected.txt
deleted file mode 100644
index 7cdced1..0000000
--- a/third_party/blink/web_tests/external/wpt/web-nfc/NDEFWriter_push.https-expected.txt
+++ /dev/null
@@ -1,33 +0,0 @@
-This is a testharness.js-based test.
-PASS Test that promise is rejected with TypeError if NDEFMessageSource is invalid.
-PASS Test that promise is rejected with SyntaxError if NDEFMessageSource contains invalid records.
-PASS NDEFWriter.push should fail if user permission is not granted.
-PASS NDEFWriter.push should fail if no implementation for NFC Mojo interface is available.
-PASS NDEFWriter.push should fail if abort push request before push happends.
-PASS NDEFWriter.push should fail if signal's aborted flag is set.
-PASS NDEFWriter.push should fail if signal is not an AbortSignal.
-PASS Synchronously signaled abort.
-PASS NDEFWriter.push should fail when NFC HW is disabled.
-PASS NDEFWriter.push should fail when NFC HW is not supported.
-PASS Reject promise with NotSupportedError if NFC message size exceeds 32KB.
-PASS Test that WebNFC API is not accessible from iframe context.
-PASS NDEFWriter.push should succeed when NFC HW is enabled
-PASS NDEFWriter.push NDEFMessage containing text, mime, unknown, url, absolute-url and external records with default NDEFPushOptions.
-PASS NDEFWriter.push NDEFMessage containing embedded records.
-PASS Test that NDEFWriter.push succeeds when message is DOMString.
-PASS Test that NDEFWriter.push succeeds when message is ArrayBuffer.
-PASS Test that NDEFWriter.push succeeds when message is ArrayBufferView.
-PASS NDEFWriter.push with 'empty' record should succeed.
-PASS Check that default NDEFPushOptions values are correctly set.
-PASS Check that provided NDEFPushOptions values are correctly converted.
-PASS NDEFWriter.push should read data when ignoreRead is false.
-PASS NDEFWriter.push should ignore reading data when ignoreRead is true.
-PASS NDEFWriter.push should replace all previously configured push operations.
-PASS Test that mediaType should be set to 'application/octet-stream' if NDEFRecordInit.record's recordType is 'mime' and NDEFRecordInit.record's mediaType is undefined.
-PASS NDEFWriter.push should fail when the NFC device coming up does not expose NDEF technology.
-PASS NDEFWriter.push should succeed to push data to an unformatted NFC device when the NDEFPushOptions.overwrite is false.
-PASS NDEFWriter.push should succeed to overwrite the existing data when the NDEFPushOptions.overwrite is true.
-FAIL NDEFWriter.push should fail when there are NDEF records on the NFC device and NDEFPushOptions.overwrite is false. assert_unreached: Should have rejected: undefined Reached unreachable code
-PASS NDEFWriter.push should fail with NetworkError when NFC data transfer fails.
-Harness: the test ran to completion.
-
diff --git a/third_party/blink/web_tests/external/wpt/web-nfc/NDEFWriter_write.https-expected.txt b/third_party/blink/web_tests/external/wpt/web-nfc/NDEFWriter_write.https-expected.txt
new file mode 100644
index 0000000..d83ca26d
--- /dev/null
+++ b/third_party/blink/web_tests/external/wpt/web-nfc/NDEFWriter_write.https-expected.txt
@@ -0,0 +1,33 @@
+This is a testharness.js-based test.
+PASS Test that promise is rejected with TypeError if NDEFMessageSource is invalid.
+PASS Test that promise is rejected with SyntaxError if NDEFMessageSource contains invalid records.
+PASS NDEFWriter.write should fail if user permission is not granted.
+PASS NDEFWriter.write should fail if no implementation for NFC Mojo interface is available.
+PASS NDEFWriter.write should fail if abort write request before write happends.
+PASS NDEFWriter.write should fail if signal's aborted flag is set.
+PASS NDEFWriter.write should fail if signal is not an AbortSignal.
+PASS Synchronously signaled abort.
+PASS NDEFWriter.write should fail when NFC HW is disabled.
+PASS NDEFWriter.write should fail when NFC HW is not supported.
+PASS Reject promise with NotSupportedError if NFC message size exceeds 32KB.
+PASS Test that WebNFC API is not accessible from iframe context.
+PASS NDEFWriter.write should succeed when NFC HW is enabled
+PASS NDEFWriter.write NDEFMessage containing text, mime, unknown, url, absolute-url and external records with default NDEFWriteOptions.
+PASS NDEFWriter.write NDEFMessage containing embedded records.
+PASS Test that NDEFWriter.write succeeds when message is DOMString.
+PASS Test that NDEFWriter.write succeeds when message is ArrayBuffer.
+PASS Test that NDEFWriter.write succeeds when message is ArrayBufferView.
+PASS NDEFWriter.write with 'empty' record should succeed.
+PASS Check that default NDEFWriteOptions values are correctly set.
+PASS Check that provided NDEFWriteOptions values are correctly converted.
+PASS NDEFWriter.write should read data when ignoreRead is false.
+PASS NDEFWriter.write should ignore reading data when ignoreRead is true.
+PASS NDEFWriter.write should replace all previously configured write operations.
+PASS Test that mediaType should be set to 'application/octet-stream' if NDEFRecordInit.record's recordType is 'mime' and NDEFRecordInit.record's mediaType is undefined.
+PASS NDEFWriter.write should fail when the NFC device coming up does not expose NDEF technology.
+PASS NDEFWriter.write should succeed to write data to an unformatted NFC device when the NDEFWriteOptions.overwrite is false.
+PASS NDEFWriter.write should succeed to overwrite the existing data when the NDEFWriteOptions.overwrite is true.
+FAIL NDEFWriter.write should fail when there are NDEF records on the NFC device and NDEFWriteOptions.overwrite is false. assert_unreached: Should have rejected: undefined Reached unreachable code
+PASS NDEFWriter.write should fail with NetworkError when NFC data transfer fails.
+Harness: the test ran to completion.
+
diff --git a/third_party/blink/web_tests/external/wpt/web-nfc/NDEFWriter_push.https.html b/third_party/blink/web_tests/external/wpt/web-nfc/NDEFWriter_write.https.html
similarity index 74%
rename from third_party/blink/web_tests/external/wpt/web-nfc/NDEFWriter_push.https.html
rename to third_party/blink/web_tests/external/wpt/web-nfc/NDEFWriter_write.https.html
index 33a6297..d170122 100644
--- a/third_party/blink/web_tests/external/wpt/web-nfc/NDEFWriter_push.https.html
+++ b/third_party/blink/web_tests/external/wpt/web-nfc/NDEFWriter_write.https.html
@@ -1,6 +1,6 @@
 <!DOCTYPE html>
 <meta charset=utf-8>
-<title>Web NFC: NDEFWriter.push Tests</title>
+<title>Web NFC: NDEFWriter.write Tests</title>
 <link rel="author" title="Intel" href="http://www.intel.com"/>
 <link rel="help" href="https://w3c.github.io/web-nfc/"/>
 <script src="/resources/testharness.js"></script>
@@ -16,11 +16,11 @@
       undefined,
 
       // NDEFMessage.records: should have at least 1 valid record.
-      // https://w3c.github.io/web-nfc/#the-push-method - Step 8.
+      // https://w3c.github.io/web-nfc/#the-write-method - Step 8.
       createMessage([{}]),
 
       // NDEFMessageSource: not NDEF-formatable.
-      // https://w3c.github.io/web-nfc/#the-push-method - Step 8.
+      // https://w3c.github.io/web-nfc/#the-write-method - Step 8.
       createMessage([]),
 
       // https://w3c.github.io/web-nfc/#dfn-map-text-to-ndef
@@ -109,7 +109,7 @@
   const promises = [];
   invalid_type_messages.forEach(message => {
     promises.push(
-      promise_rejects(t, new TypeError(), writer.push(message)));
+      promise_rejects(t, new TypeError(), writer.write(message)));
   });
   await Promise.all(promises);
 }, "Test that promise is rejected with TypeError if NDEFMessageSource is invalid.");
@@ -119,7 +119,7 @@
   const promises = [];
   invalid_syntax_messages.forEach(message => {
     promises.push(
-      promise_rejects(t, 'SyntaxError', writer.push(message)));
+      promise_rejects(t, 'SyntaxError', writer.write(message)));
   });
   await Promise.all(promises);
 }, "Test that promise is rejected with SyntaxError if NDEFMessageSource contains\
@@ -132,8 +132,8 @@
                                     location.origin, location.origin);
   }
   const writer = new NDEFWriter();
-  await promise_rejects(t, 'NotAllowedError', writer.push(test_text_data));
-}, 'NDEFWriter.push should fail if user permission is not granted.');
+  await promise_rejects(t, 'NotAllowedError', writer.write(test_text_data));
+}, 'NDEFWriter.write should fail if user permission is not granted.');
 
 // We do not provide NFC mock here to simulate that there has no available
 // implementation for NFC Mojo interface.
@@ -144,8 +144,8 @@
                                     location.origin, location.origin);
   }
   const writer = new NDEFWriter();
-  await promise_rejects(t, 'NotSupportedError', writer.push(test_text_data));
-}, 'NDEFWriter.push should fail if no implementation for NFC Mojo interface is available.');
+  await promise_rejects(t, 'NotSupportedError', writer.write(test_text_data));
+}, 'NDEFWriter.write should fail if no implementation for NFC Mojo interface is available.');
 
 nfc_test(async (t, mockNFC) => {
   const writer = new NDEFWriter();
@@ -153,7 +153,7 @@
 
   //Make sure push is pending
   mockNFC.setPendingPushCompleted(false);
-  const p = writer.push(test_text_data, { signal: controller.signal });
+  const p = writer.write(test_text_data, { signal: controller.signal });
   const rejected = promise_rejects(t, 'AbortError', p);
   let callback_called = false;
   await new Promise(resolve => {
@@ -165,7 +165,7 @@
   });
   await rejected;
   assert_true(callback_called, 'timeout should have caused the abort');
-}, "NDEFWriter.push should fail if abort push request before push happends.");
+}, "NDEFWriter.write should fail if abort write request before write happends.");
 
 promise_test(async t => {
   const writer = new NDEFWriter();
@@ -174,50 +174,50 @@
   controller.abort();
   assert_true(controller.signal.aborted);
   await promise_rejects(t, 'AbortError',
-      writer.push(test_text_data, { signal: controller.signal }));
-}, "NDEFWriter.push should fail if signal's aborted flag is set.");
+      writer.write(test_text_data, { signal: controller.signal }));
+}, "NDEFWriter.write should fail if signal's aborted flag is set.");
 
 promise_test(async t => {
   const writer = new NDEFWriter();
   const promises = [];
   invalid_signals.forEach(invalid_signal => {
     promises.push(promise_rejects(t, new TypeError(),
-        writer.push(test_text_data, { signal: invalid_signal })));
+        writer.write(test_text_data, { signal: invalid_signal })));
   });
   await Promise.all(promises);
-}, "NDEFWriter.push should fail if signal is not an AbortSignal.");
+}, "NDEFWriter.write should fail if signal is not an AbortSignal.");
 
 nfc_test(async (t, mockNFC) => {
   const writer1 = new NDEFWriter();
   const writer2 = new NDEFWriter();
   const controller = new AbortController();
-  const p1 = writer1.push(test_text_data, { signal: controller.signal });
+  const p1 = writer1.write(test_text_data, { signal: controller.signal });
 
-  // Even though push request is grantable,
+  // Even though write request is grantable,
   // this abort should be processed synchronously.
   controller.abort();
   await promise_rejects(t, 'AbortError', p1);
 
-  await writer2.push(test_text_data);
+  await writer2.write(test_text_data);
   assertNDEFMessagesEqual(test_text_data, mockNFC.pushedMessage());
 }, "Synchronously signaled abort.");
 
 nfc_test(async (t, mockNFC) => {
   const writer = new NDEFWriter();
   mockNFC.setHWStatus(NFCHWStatus.DISABLED);
-  await promise_rejects(t, 'NotReadableError', writer.push(test_text_data));
-}, "NDEFWriter.push should fail when NFC HW is disabled.");
+  await promise_rejects(t, 'NotReadableError', writer.write(test_text_data));
+}, "NDEFWriter.write should fail when NFC HW is disabled.");
 
 nfc_test(async (t, mockNFC) => {
   const writer = new NDEFWriter();
   mockNFC.setHWStatus(NFCHWStatus.NOT_SUPPORTED);
-  await promise_rejects(t, 'NotSupportedError', writer.push(test_text_data));
-}, "NDEFWriter.push should fail when NFC HW is not supported.");
+  await promise_rejects(t, 'NotSupportedError', writer.write(test_text_data));
+}, "NDEFWriter.write should fail when NFC HW is not supported.");
 
 promise_test(async t => {
   const writer = new NDEFWriter();
   await promise_rejects(
-    t, 'NotSupportedError', writer.push(new ArrayBuffer(32 * 1024 + 1)));
+    t, 'NotSupportedError', writer.write(new ArrayBuffer(32 * 1024 + 1)));
 }, "Reject promise with NotSupportedError if NFC message size exceeds 32KB.");
 
 promise_test(async () => {
@@ -243,7 +243,7 @@
                           };
                           try {
                             const writer = new NDEFWriter();
-                            writer.push("Test").then(onSuccess, onError);
+                            writer.write("Test").then(onSuccess, onError);
                           } catch(e) {
                             parent.postMessage("Failure", "*");
                           }
@@ -264,8 +264,8 @@
 
 nfc_test(async () => {
   const writer = new NDEFWriter();
-  await writer.push(test_text_data);
-}, 'NDEFWriter.push should succeed when NFC HW is enabled');
+  await writer.write(test_text_data);
+}, 'NDEFWriter.write should succeed when NFC HW is enabled');
 
 nfc_test(async (t, mockNFC) => {
   const writer = new NDEFWriter();
@@ -277,10 +277,10 @@
                                createUrlRecord(test_url_data, true),
                                createRecord('w3.org:xyz', test_buffer_data)],
                                test_message_origin);
-  await writer.push(message);
+  await writer.write(message);
   assertNDEFMessagesEqual(message, mockNFC.pushedMessage());
-}, "NDEFWriter.push NDEFMessage containing text, mime, unknown, url, absolute-url \
-and external records with default NDEFPushOptions.");
+}, "NDEFWriter.write NDEFMessage containing text, mime, unknown, url, absolute-url \
+and external records with default NDEFWriteOptions.");
 
 nfc_test(async (t, mockNFC) => {
   const payloadMessage = createMessage([createTextRecord(test_text_data)]);
@@ -289,7 +289,7 @@
           payloadMessage)]);
 
   const writer = new NDEFWriter();
-  await writer.push(message);
+  await writer.write(message);
   const pushed_message = mockNFC.pushedMessage();
 
   // The mojom message received by mock nfc contains only the external type record.
@@ -299,48 +299,48 @@
   assert_array_equals(pushed_message.data[0].data, new Uint8Array(0),
       'payloadMessage is used instead');
   assertNDEFMessagesEqual(payloadMessage, pushed_message.data[0].payloadMessage);
-}, "NDEFWriter.push NDEFMessage containing embedded records.");
+}, "NDEFWriter.write NDEFMessage containing embedded records.");
 
 nfc_test(async (t, mockNFC) => {
   const writer = new NDEFWriter();
-  await writer.push(test_text_data);
+  await writer.write(test_text_data);
   assertNDEFMessagesEqual(test_text_data, mockNFC.pushedMessage());
-}, "Test that NDEFWriter.push succeeds when message is DOMString.");
+}, "Test that NDEFWriter.write succeeds when message is DOMString.");
 
 nfc_test(async (t, mockNFC) => {
   const writer = new NDEFWriter();
-  await writer.push(test_buffer_data);
+  await writer.write(test_buffer_data);
   assertNDEFMessagesEqual(test_buffer_data, mockNFC.pushedMessage());
-}, "Test that NDEFWriter.push succeeds when message is ArrayBuffer.");
+}, "Test that NDEFWriter.write succeeds when message is ArrayBuffer.");
 
 nfc_test(async (t, mockNFC) => {
   let buffer_view = new Uint8Array(test_buffer_data, 2, 5);
   const writer = new NDEFWriter();
-  await writer.push(buffer_view);
+  await writer.write(buffer_view);
   assertNDEFMessagesEqual(buffer_view, mockNFC.pushedMessage());
-}, "Test that NDEFWriter.push succeeds when message is ArrayBufferView.");
+}, "Test that NDEFWriter.write succeeds when message is ArrayBufferView.");
 
 nfc_test(async (t, mockNFC) => {
   const writer = new NDEFWriter();
-  await writer.push(createMessage([createRecord('empty')]));
+  await writer.write(createMessage([createRecord('empty')]));
   const receivedMessage = mockNFC.pushedMessage();
   assert_equals(receivedMessage.data.length, 1);
   assert_equals(receivedMessage.data[0].recordType, 'empty', 'recordType');
-}, "NDEFWriter.push with 'empty' record should succeed.");
+}, "NDEFWriter.write with 'empty' record should succeed.");
 
 nfc_test(async (t, mockNFC) => {
   const writer = new NDEFWriter();
-  await writer.push(test_text_data);
-  assertNDEFPushOptionsEqual(createNDEFPushOptions(true),
-                            mockNFC.pushOptions());
-}, "Check that default NDEFPushOptions values are correctly set.");
+  await writer.write(test_text_data);
+  assertNDEFWriteOptionsEqual(createNDEFWriteOptions(true),
+                            mockNFC.writeOptions());
+}, "Check that default NDEFWriteOptions values are correctly set.");
 
 nfc_test(async (t, mockNFC) => {
   const writer = new NDEFWriter();
-  let ndefPushOptions = createNDEFPushOptions(false);
-  await writer.push(test_text_data, ndefPushOptions);
-  assertNDEFPushOptionsEqual(ndefPushOptions, mockNFC.pushOptions());
-}, "Check that provided NDEFPushOptions values are correctly converted.");
+  let ndefWriteOptions = createNDEFWriteOptions(false);
+  await writer.write(test_text_data, ndefWriteOptions);
+  assertNDEFWriteOptionsEqual(ndefWriteOptions, mockNFC.writeOptions());
+}, "Check that provided NDEFWriteOptions values are correctly converted.");
 
 nfc_test(async (t, mockNFC) => {
   const reader = new NDEFReader();
@@ -350,7 +350,7 @@
   await reader.scan({ signal: controller.signal });
 
   const writer = new NDEFWriter();
-  await writer.push(test_text_data, { ignoreRead: false });
+  await writer.write(test_text_data, { ignoreRead: false });
   assertNDEFMessagesEqual(test_text_data, mockNFC.pushedMessage());
 
   mockNFC.setReadingMessage(message);
@@ -359,29 +359,29 @@
     assertWebNDEFMessagesEqual(event.message, new NDEFMessage(message));
   });
 
-}, "NDEFWriter.push should read data when ignoreRead is false.");
+}, "NDEFWriter.write should read data when ignoreRead is false.");
 
 nfc_test(async (t, mockNFC) => {
   const reader = new NDEFReader();
   const message = createMessage([createTextRecord(test_text_data)]);
-  // Ignore reading if NDEFPushOptions.ignoreRead is true
+  // Ignore reading if NDEFWriteOptions.ignoreRead is true
   reader.onreading = t.unreached_func("reading event should not be fired.");
   await reader.scan();
 
   const writer = new NDEFWriter();
-  await writer.push(test_text_data, { ignoreRead: true });
+  await writer.write(test_text_data, { ignoreRead: true });
   mockNFC.setReadingMessage(message);
   assertNDEFMessagesEqual(test_text_data, mockNFC.pushedMessage());
-}, "NDEFWriter.push should ignore reading data when ignoreRead is true.");
+}, "NDEFWriter.write should ignore reading data when ignoreRead is true.");
 
 nfc_test(async (t, mockNFC) => {
   const writer1 = new NDEFWriter();
   const writer2 = new NDEFWriter();
 
-  const ndefPushOptions1 = createNDEFPushOptions(false);
-  const ndefPushOptions2 = createNDEFPushOptions(true);
-  const p1 = writer1.push(test_text_data, ndefPushOptions1);
-  const p2 = writer2.push(test_url_data, ndefPushOptions2);
+  const ndefWriteOptions1 = createNDEFWriteOptions( false);
+  const ndefWriteOptions2 = createNDEFWriteOptions(true);
+  const p1 = writer1.write(test_text_data, ndefWriteOptions1);
+  const p2 = writer2.write(test_url_data, ndefWriteOptions2);
 
   await new Promise((resolve, reject) => {
     // Make first push pending
@@ -394,16 +394,16 @@
     });
     p2.then(() => {
       assertNDEFMessagesEqual(test_url_data, mockNFC.pushedMessage());
-      assertNDEFPushOptionsEqual(ndefPushOptions2, mockNFC.pushOptions());
+      assertNDEFWriteOptionsEqual(ndefWriteOptions2, mockNFC.writeOptions());
       assert_equals(err, "AbortError", "the pending push should be aborted");
       resolve();
     });
   });
-}, "NDEFWriter.push should replace all previously configured push operations.");
+}, "NDEFWriter.write should replace all previously configured write operations.");
 
 nfc_test(async (t, mockNFC) => {
   const writer = new NDEFWriter();
-  await writer.push({ records: [{ recordType: "mime", data: test_buffer_data }] });
+  await writer.write({ records: [{ recordType: "mime", data: test_buffer_data }] });
   assertNDEFMessagesEqual(test_buffer_data, mockNFC.pushedMessage());
 }, "Test that mediaType should be set to 'application/octet-stream' if \
 NDEFRecordInit.record's recordType is 'mime' and NDEFRecordInit.record's \
@@ -414,45 +414,45 @@
   mockNFC.setPendingPushCompleted(false);
 
   const writer = new NDEFWriter();
-  const promise = writer.push(test_text_data);
+  const promise = writer.write(test_text_data);
 
-  // Just to make sure the push() request has already reached to the mock.
+  // Just to make sure the write() request has already reached to the mock.
   const reader = new NDEFReader();
   await reader.scan();
 
   mockNFC.simulateNonNDEFTagDiscovered();
   await promise_rejects(t, 'NotSupportedError', promise);
-}, "NDEFWriter.push should fail when the NFC device coming up does not expose \
+}, "NDEFWriter.write should fail when the NFC device coming up does not expose \
 NDEF technology.");
 
 nfc_test(async (t, mockNFC) => {
   const writer = new NDEFWriter();
-  await writer.push(test_text_data, { overwrite: false });
+  await writer.write(test_text_data, { overwrite: false });
   assertNDEFMessagesEqual(test_text_data, mockNFC.pushedMessage());
-}, "NDEFWriter.push should succeed to push data to an unformatted NFC device \
-when the NDEFPushOptions.overwrite is false.");
+}, "NDEFWriter.write should succeed to write data to an unformatted NFC device \
+when the NDEFWriteOptions.overwrite is false.");
 
 nfc_test(async (t, mockNFC) => {
   const writer = new NDEFWriter();
-  await writer.push(test_buffer_data);
+  await writer.write(test_buffer_data);
   assertNDEFMessagesEqual(test_buffer_data, mockNFC.pushedMessage());
-  await writer.push(test_text_data, { overwrite: true });
+  await writer.write(test_text_data, { overwrite: true });
   assertNDEFMessagesEqual(test_text_data, mockNFC.pushedMessage());
-}, "NDEFWriter.push should succeed to overwrite the existing data \
-when the NDEFPushOptions.overwrite is true.");
+}, "NDEFWriter.write should succeed to overwrite the existing data \
+when the NDEFWriteOptions.overwrite is true.");
 
 nfc_test(async (t, mockNFC) => {
   const writer = new NDEFWriter();
-  const p = writer.push(test_text_data, { overwrite: false });
+  const p = writer.write(test_text_data, { overwrite: false });
   mockNFC.setIsFormattedTag(true);
   await promise_rejects(t, 'NotAllowedError', p);
-}, "NDEFWriter.push should fail when there are NDEF records on the NFC device \
-and NDEFPushOptions.overwrite is false.");
+}, "NDEFWriter.write should fail when there are NDEF records on the NFC device \
+and NDEFWriteOptions.overwrite is false.");
 
 nfc_test(async (t, mockNFC) => {
   const writer = new NDEFWriter();
   mockNFC.simulateDataTransferFails();
-  await promise_rejects(t, 'NetworkError', writer.push(test_text_data));
-}, "NDEFWriter.push should fail with NetworkError when NFC data transfer fails.");
+  await promise_rejects(t, 'NetworkError', writer.write(test_text_data));
+}, "NDEFWriter.write should fail with NetworkError when NFC data transfer fails.");
 
 </script>
diff --git a/third_party/blink/web_tests/external/wpt/web-nfc/README.md b/third_party/blink/web_tests/external/wpt/web-nfc/README.md
index c4efc02..15c6534 100644
--- a/third_party/blink/web_tests/external/wpt/web-nfc/README.md
+++ b/third_party/blink/web_tests/external/wpt/web-nfc/README.md
@@ -15,7 +15,7 @@
     setReadingMessage(NDEFMessageInit message); // Sets message that is used to deliver NFC reading updates.
     setPendingPushCompleted(boolean result); // Sets if the pending push is completed.
     pushedMessage(); // Gets the pushed `NDEFMessageSource`.
-    pushOptions(); // Gets the pushed `NDEFPushOptions`.
+    writeOptions(); // Gets the pushed `NDEFWriteOptions`.
     simulateNonNDEFTagDiscovered(); // Simulates that the NFC device discovered does not expose NDEF technology.
     setIsFormattedTag(boolean isFormatted); // Sets if the NFC tag has formatted NDEF message.
   };
diff --git a/third_party/blink/web_tests/external/wpt/web-nfc/idlharness.https.window-expected.txt b/third_party/blink/web_tests/external/wpt/web-nfc/idlharness.https.window-expected.txt
index 28c57a9d..1b93c975 100644
--- a/third_party/blink/web_tests/external/wpt/web-nfc/idlharness.https.window-expected.txt
+++ b/third_party/blink/web_tests/external/wpt/web-nfc/idlharness.https.window-expected.txt
@@ -1,5 +1,5 @@
 This is a testharness.js-based test.
-Found 72 tests; 68 PASS, 4 FAIL, 0 TIMEOUT, 0 NOTRUN.
+Found 72 tests; 71 PASS, 1 FAIL, 0 TIMEOUT, 0 NOTRUN.
 PASS idl_test setup
 PASS idl_test validation
 PASS NDEFMessage interface: existence and properties of interface object
@@ -40,11 +40,11 @@
 PASS NDEFWriter interface: existence and properties of interface prototype object
 PASS NDEFWriter interface: existence and properties of interface prototype object's "constructor" property
 PASS NDEFWriter interface: existence and properties of interface prototype object's @@unscopables property
-FAIL NDEFWriter interface: operation write(NDEFMessageSource, NDEFWriteOptions) assert_own_property: interface prototype object missing non-static operation expected property "write" missing
+PASS NDEFWriter interface: operation write(NDEFMessageSource, NDEFWriteOptions)
 PASS NDEFWriter must be primary interface of new NDEFWriter();
 PASS Stringification of new NDEFWriter();
-FAIL NDEFWriter interface: new NDEFWriter(); must inherit property "write(NDEFMessageSource, NDEFWriteOptions)" with the proper type assert_inherits: property "write" not found in prototype chain
-FAIL NDEFWriter interface: calling write(NDEFMessageSource, NDEFWriteOptions) on new NDEFWriter(); with too few arguments must throw TypeError assert_inherits: property "write" not found in prototype chain
+PASS NDEFWriter interface: new NDEFWriter(); must inherit property "write(NDEFMessageSource, NDEFWriteOptions)" with the proper type
+PASS NDEFWriter interface: calling write(NDEFMessageSource, NDEFWriteOptions) on new NDEFWriter(); with too few arguments must throw TypeError
 PASS NDEFReader interface: existence and properties of interface object
 PASS NDEFReader interface object length
 PASS NDEFReader interface object name
diff --git a/third_party/blink/web_tests/external/wpt/web-nfc/resources/nfc-helpers.js b/third_party/blink/web_tests/external/wpt/web-nfc/resources/nfc-helpers.js
index 45bfa6d..c60ef62 100644
--- a/third_party/blink/web_tests/external/wpt/web-nfc/resources/nfc-helpers.js
+++ b/third_party/blink/web_tests/external/wpt/web-nfc/resources/nfc-helpers.js
@@ -125,12 +125,12 @@
   return createRecord('url', url, test_record_id);
 }
 
-function createNDEFPushOptions(ignoreRead) {
+function createNDEFWriteOptions(ignoreRead) {
   return {ignoreRead};
 }
 
 // Compares NDEFMessageSource that was provided to the API
-// (e.g. NDEFWriter.push), and NDEFMessage that was received by the
+// (e.g. NDEFWriter.write), and NDEFMessage that was received by the
 // mock NFC service.
 function assertNDEFMessagesEqual(providedMessage, receivedMessage) {
   // If simple data type is passed, e.g. String or ArrayBuffer or
diff --git a/third_party/blink/web_tests/external/wpt/webrtc/RTCDTMFSender-insertDTMF.https.html b/third_party/blink/web_tests/external/wpt/webrtc/RTCDTMFSender-insertDTMF.https.html
index 8ac144b..62a5f04 100644
--- a/third_party/blink/web_tests/external/wpt/webrtc/RTCDTMFSender-insertDTMF.https.html
+++ b/third_party/blink/web_tests/external/wpt/webrtc/RTCDTMFSender-insertDTMF.https.html
@@ -119,7 +119,7 @@
     const offer = await caller.createOffer();
     await caller.setLocalDescription(offer);
     await callee.setRemoteDescription(offer);
-    const stream = await navigator.mediaDevices.getUserMedia({audio: true});
+    const stream = await getNoiseStream({audio: true});
     t.add_cleanup(() => stream.getTracks().forEach(track => track.stop()));
     const [track] = stream.getTracks();
     callee.addTrack(track, stream);
diff --git a/third_party/blink/web_tests/external/wpt/webrtc/RTCIceConnectionState-candidate-pair.https.html b/third_party/blink/web_tests/external/wpt/webrtc/RTCIceConnectionState-candidate-pair.https.html
index 6c93aec..0752c9a 100644
--- a/third_party/blink/web_tests/external/wpt/webrtc/RTCIceConnectionState-candidate-pair.https.html
+++ b/third_party/blink/web_tests/external/wpt/webrtc/RTCIceConnectionState-candidate-pair.https.html
@@ -14,7 +14,7 @@
   const callee = new RTCPeerConnection();
   t.add_cleanup(() => callee.close());
 
-  const stream = await navigator.mediaDevices.getUserMedia({audio:true});
+  const stream = await getNoiseStream({audio:true});
   const [track] = stream.getTracks();
   caller.addTrack(track, stream);
   exchangeIceCandidates(caller, callee);
diff --git a/third_party/blink/web_tests/external/wpt/webrtc/RTCPeerConnection-addTrack.https.html b/third_party/blink/web_tests/external/wpt/webrtc/RTCPeerConnection-addTrack.https.html
index 1550fc4..3f4f927 100644
--- a/third_party/blink/web_tests/external/wpt/webrtc/RTCPeerConnection-addTrack.https.html
+++ b/third_party/blink/web_tests/external/wpt/webrtc/RTCPeerConnection-addTrack.https.html
@@ -190,7 +190,7 @@
     assert_equals(transceiver.sender.track, null);
     assert_equals(transceiver.direction, 'sendrecv');
 
-    const stream = await navigator.mediaDevices.getUserMedia({audio: true});
+    const stream = await getNoiseStream({audio: true});
     t.add_cleanup(() => stream.getTracks().forEach(track => track.stop()));
     const [track] = stream.getTracks();
     const sender = pc.addTrack(track);
@@ -205,7 +205,7 @@
     const callee = new RTCPeerConnection();
     t.add_cleanup(() => callee.close());
 
-    const stream = await navigator.mediaDevices.getUserMedia({audio: true});
+    const stream = await getNoiseStream({audio: true});
     t.add_cleanup(() => stream.getTracks().forEach(track => track.stop()));
     const [track] = stream.getTracks();
     const transceiver = caller.addTransceiver(track);
@@ -246,7 +246,7 @@
     assert_equals(transceiver.sender.track, null);
     assert_equals(transceiver.direction, 'recvonly');
 
-    const stream = await navigator.mediaDevices.getUserMedia({audio: true});
+    const stream = await getNoiseStream({audio: true});
     t.add_cleanup(() => stream.getTracks().forEach(track => track.stop()));
     const [track] = stream.getTracks();
     const sender = pc.addTrack(track);
diff --git a/third_party/blink/web_tests/external/wpt/webrtc/RTCPeerConnection-addTransceiver.https.html b/third_party/blink/web_tests/external/wpt/webrtc/RTCPeerConnection-addTransceiver.https.html
index 6df05611..3640bfb3 100644
--- a/third_party/blink/web_tests/external/wpt/webrtc/RTCPeerConnection-addTransceiver.https.html
+++ b/third_party/blink/web_tests/external/wpt/webrtc/RTCPeerConnection-addTransceiver.https.html
@@ -3,6 +3,7 @@
 <title>RTCPeerConnection.prototype.addTransceiver</title>
 <script src="/resources/testharness.js"></script>
 <script src="/resources/testharnessreport.js"></script>
+<script src="RTCPeerConnection-helper.js"></script>
 <script>
   'use strict';
 
@@ -244,7 +245,7 @@
     const pc = new RTCPeerConnection();
     t.add_cleanup(() => pc.close());
 
-    const stream = await navigator.mediaDevices.getUserMedia({audio: true});
+    const stream = await getNoiseStream({audio: true});
     t.add_cleanup(() => stream.getTracks().forEach(track => track.stop()));
     const [track] = stream.getTracks();
     const transceiver = pc.addTransceiver(track);
@@ -284,7 +285,7 @@
     const pc = new RTCPeerConnection();
     t.add_cleanup(() => pc.close());
 
-    const stream = await navigator.mediaDevices.getUserMedia({audio: true});
+    const stream = await getNoiseStream({audio: true});
     t.add_cleanup(() => stream.getTracks().forEach(track => track.stop()));
     const [track] = stream.getTracks();
     const transceiver1 = pc.addTransceiver(track);
diff --git a/third_party/blink/web_tests/external/wpt/webrtc/RTCPeerConnection-connectionState.https.html b/third_party/blink/web_tests/external/wpt/webrtc/RTCPeerConnection-connectionState.https.html
index a054a1e8..9e2f3649 100644
--- a/third_party/blink/web_tests/external/wpt/webrtc/RTCPeerConnection-connectionState.https.html
+++ b/third_party/blink/web_tests/external/wpt/webrtc/RTCPeerConnection-connectionState.https.html
@@ -239,7 +239,7 @@
     t.add_cleanup(() => caller.close());
     const callee = new RTCPeerConnection();
     t.add_cleanup(() => callee.close());
-    const stream = await navigator.mediaDevices.getUserMedia({audio: true});
+    const stream = await getNoiseStream({audio: true});
     t.add_cleanup(() => stream.getTracks().forEach(track => track.stop()));
     const [track] = stream.getTracks();
     caller.addTrack(track, stream);
@@ -256,7 +256,7 @@
     t.add_cleanup(() => caller.close());
     const callee = new RTCPeerConnection();
     t.add_cleanup(() => callee.close());
-    const stream = await navigator.mediaDevices.getUserMedia({audio: true});
+    const stream = await getNoiseStream({audio: true});
     t.add_cleanup(() => stream.getTracks().forEach(track => track.stop()));
     const [track] = stream.getTracks();
     caller.addTrack(track, stream);
diff --git a/third_party/blink/web_tests/external/wpt/webrtc/RTCPeerConnection-iceConnectionState-disconnected.https.html b/third_party/blink/web_tests/external/wpt/webrtc/RTCPeerConnection-iceConnectionState-disconnected.https.html
index dbfc41e..ff405f32 100644
--- a/third_party/blink/web_tests/external/wpt/webrtc/RTCPeerConnection-iceConnectionState-disconnected.https.html
+++ b/third_party/blink/web_tests/external/wpt/webrtc/RTCPeerConnection-iceConnectionState-disconnected.https.html
@@ -13,7 +13,7 @@
     const callee = new RTCPeerConnection();
     t.add_cleanup(() => callee.close());
 
-    const stream = await navigator.mediaDevices.getUserMedia({audio:true});
+    const stream = await getNoiseStream({audio:true});
     t.add_cleanup(() => stream.getTracks().forEach(track => track.stop()));
     const [track] = stream.getTracks();
     caller.addTrack(track, stream);
diff --git a/third_party/blink/web_tests/external/wpt/webrtc/RTCPeerConnection-iceConnectionState.https.html b/third_party/blink/web_tests/external/wpt/webrtc/RTCPeerConnection-iceConnectionState.https.html
index a2b2827..a5bf7536 100644
--- a/third_party/blink/web_tests/external/wpt/webrtc/RTCPeerConnection-iceConnectionState.https.html
+++ b/third_party/blink/web_tests/external/wpt/webrtc/RTCPeerConnection-iceConnectionState.https.html
@@ -223,7 +223,7 @@
     t.add_cleanup(() => callee.close());
 
     caller.addTransceiver('audio', {direction:'recvonly'});
-    const stream = await navigator.mediaDevices.getUserMedia({audio:true});
+    const stream = await getNoiseStream({audio:true});
     t.add_cleanup(() => stream.getTracks().forEach(track => track.stop()));
     const [track] = stream.getTracks();
     callee.addTrack(track, stream);
@@ -285,7 +285,7 @@
     promise_test(async t => {
       const caller = new RTCPeerConnection({bundlePolicy: bundle_policy});
       t.add_cleanup(() => caller.close());
-      const stream = await navigator.mediaDevices.getUserMedia(
+      const stream = await getNoiseStream(
           {audio: true, video:true});
       t.add_cleanup(() => stream.getTracks().forEach(track => track.stop()));
       const [track1, track2] = stream.getTracks();
@@ -341,9 +341,9 @@
     pc2.iceStates.push(pc2.iceConnectionState);
   };
 
-  const localStream = await navigator.mediaDevices.getUserMedia({audio: true, video: true});
-  const localStream2 = await navigator.mediaDevices.getUserMedia({audio: true, video: true});
-  const remoteStream = await navigator.mediaDevices.getUserMedia({audio: true, video: true});
+  const localStream = await getNoiseStream({audio: true, video: true});
+  const localStream2 = await getNoiseStream({audio: true, video: true});
+  const remoteStream = await getNoiseStream({audio: true, video: true});
   for (const stream of [localStream, localStream2, remoteStream]) {
     t.add_cleanup(() => stream.getTracks().forEach(track => track.stop()));
   }
diff --git a/third_party/blink/web_tests/external/wpt/webrtc/RTCPeerConnection-onsignalingstatechanged.https.html b/third_party/blink/web_tests/external/wpt/webrtc/RTCPeerConnection-onsignalingstatechanged.https.html
index fc3182d..c092859 100644
--- a/third_party/blink/web_tests/external/wpt/webrtc/RTCPeerConnection-onsignalingstatechanged.https.html
+++ b/third_party/blink/web_tests/external/wpt/webrtc/RTCPeerConnection-onsignalingstatechanged.https.html
@@ -7,7 +7,7 @@
 <script>
 
 promise_test(async t => {
-  const [track] = (await navigator.mediaDevices.getUserMedia({video: true})).getTracks();
+  const [track] = (await getNoiseStream({video: true})).getTracks();
   t.add_cleanup(() => track.stop());
   const pc1 = new RTCPeerConnection();
   t.add_cleanup(() => pc1.close());
diff --git a/third_party/blink/web_tests/external/wpt/webrtc/RTCPeerConnection-removeTrack.https.html b/third_party/blink/web_tests/external/wpt/webrtc/RTCPeerConnection-removeTrack.https.html
index f2add7f..10b4cfb 100644
--- a/third_party/blink/web_tests/external/wpt/webrtc/RTCPeerConnection-removeTrack.https.html
+++ b/third_party/blink/web_tests/external/wpt/webrtc/RTCPeerConnection-removeTrack.https.html
@@ -36,7 +36,7 @@
    */
   promise_test(async t => {
     const pc = new RTCPeerConnection();
-    const stream = await navigator.mediaDevices.getUserMedia({audio: true});
+    const stream = await getNoiseStream({audio: true});
     t.add_cleanup(() => stream.getTracks().forEach(track => track.stop()));
     const [track] = stream.getTracks();
     const transceiver = pc.addTransceiver(track);
@@ -62,7 +62,7 @@
   promise_test(async t => {
     const pc = new RTCPeerConnection();
     t.add_cleanup(() => pc.close());
-    const stream = await navigator.mediaDevices.getUserMedia({audio: true});
+    const stream = await getNoiseStream({audio: true});
     t.add_cleanup(() => stream.getTracks().forEach(track => track.stop()));
     const [track] = stream.getTracks();
     const transceiver = pc.addTransceiver(track);
@@ -94,7 +94,7 @@
   promise_test(async t => {
     const pc = new RTCPeerConnection();
     t.add_cleanup(() => pc.close());
-    const stream = await navigator.mediaDevices.getUserMedia({audio: true});
+    const stream = await getNoiseStream({audio: true});
     t.add_cleanup(() => stream.getTracks().forEach(track => track.stop()));
     const [track] = stream.getTracks();
     const transceiver = pc.addTransceiver(track);
@@ -126,7 +126,7 @@
   promise_test(async t => {
     const pc = new RTCPeerConnection();
     t.add_cleanup(() => pc.close());
-    const stream = await navigator.mediaDevices.getUserMedia({audio: true});
+    const stream = await getNoiseStream({audio: true});
     t.add_cleanup(() => stream.getTracks().forEach(track => track.stop()));
     const [track] = stream.getTracks();
     const transceiver = pc.addTransceiver(track);
@@ -167,7 +167,7 @@
     t.add_cleanup(() => caller.close());
     const callee = new RTCPeerConnection();
     t.add_cleanup(() => callee.close());
-    const stream = await navigator.mediaDevices.getUserMedia({audio: true});
+    const stream = await getNoiseStream({audio: true});
     t.add_cleanup(() => stream.getTracks().forEach(track => track.stop()));
     const [track] = stream.getTracks();
     const transceiver = caller.addTransceiver(track);
@@ -202,7 +202,7 @@
   promise_test(async t => {
     const pc = new RTCPeerConnection();
     t.add_cleanup(() => pc.close());
-    const stream = await navigator.mediaDevices.getUserMedia({audio: true});
+    const stream = await getNoiseStream({audio: true});
     t.add_cleanup(() => stream.getTracks().forEach(track => track.stop()));
     const [track] = stream.getTracks();
     const transceiver = pc.addTransceiver(track, { direction: 'sendonly' });
@@ -236,7 +236,7 @@
     t.add_cleanup(() => caller.close());
     const callee = new RTCPeerConnection();
     t.add_cleanup(() => callee.close());
-    const stream = await navigator.mediaDevices.getUserMedia({audio: true});
+    const stream = await getNoiseStream({audio: true});
     t.add_cleanup(() => stream.getTracks().forEach(track => track.stop()));
     const [track] = stream.getTracks();
     const transceiver = caller.addTransceiver(track, { direction: 'recvonly' });
@@ -270,7 +270,7 @@
   promise_test(async t => {
     const pc = new RTCPeerConnection();
     t.add_cleanup(() => pc.close());
-    const stream = await navigator.mediaDevices.getUserMedia({audio: true});
+    const stream = await getNoiseStream({audio: true});
     t.add_cleanup(() => stream.getTracks().forEach(track => track.stop()));
     const [track] = stream.getTracks();
     const transceiver = pc.addTransceiver(track, { direction: 'inactive' });
@@ -295,7 +295,7 @@
   promise_test(async t => {
     const pc = new RTCPeerConnection();
     t.add_cleanup(() => pc.close());
-    const stream = await navigator.mediaDevices.getUserMedia({audio: true});
+    const stream = await getNoiseStream({audio: true});
     t.add_cleanup(() => stream.getTracks().forEach(track => track.stop()));
     const [track] = stream.getTracks();
     const sender = pc.addTrack(track, stream);
diff --git a/third_party/blink/web_tests/external/wpt/webrtc/RTCRtpReceiver-getContributingSources.https.html b/third_party/blink/web_tests/external/wpt/webrtc/RTCRtpReceiver-getContributingSources.https.html
index aa59f1b..7245d477 100644
--- a/third_party/blink/web_tests/external/wpt/webrtc/RTCRtpReceiver-getContributingSources.https.html
+++ b/third_party/blink/web_tests/external/wpt/webrtc/RTCRtpReceiver-getContributingSources.https.html
@@ -13,7 +13,7 @@
   const pc2 = new RTCPeerConnection();
   t.add_cleanup(() => pc2.close());
 
-  const stream = await navigator.mediaDevices.getUserMedia({[kind]:true});
+  const stream = await getNoiseStream({[kind]:true});
   const [track] = stream.getTracks();
   t.add_cleanup(() => track.stop());
   pc1.addTrack(track, stream);
diff --git a/third_party/blink/web_tests/external/wpt/webrtc/RTCRtpReceiver-getSynchronizationSources.https.html b/third_party/blink/web_tests/external/wpt/webrtc/RTCRtpReceiver-getSynchronizationSources.https.html
index a78ede0..8436a44 100644
--- a/third_party/blink/web_tests/external/wpt/webrtc/RTCRtpReceiver-getSynchronizationSources.https.html
+++ b/third_party/blink/web_tests/external/wpt/webrtc/RTCRtpReceiver-getSynchronizationSources.https.html
@@ -15,7 +15,7 @@
   const pc2 = new RTCPeerConnection();
   t.add_cleanup(() => pc2.close());
 
-  const stream = await navigator.mediaDevices.getUserMedia({[kind]:true});
+  const stream = await getNoiseStream({[kind]:true});
   const [track] = stream.getTracks();
   t.add_cleanup(() => track.stop());
   pc1.addTrack(track, stream);
diff --git a/third_party/blink/web_tests/external/wpt/webrtc/RTCRtpSender-transport.https.html b/third_party/blink/web_tests/external/wpt/webrtc/RTCRtpSender-transport.https.html
index 8c0552d..cd419eb 100644
--- a/third_party/blink/web_tests/external/wpt/webrtc/RTCRtpSender-transport.https.html
+++ b/third_party/blink/web_tests/external/wpt/webrtc/RTCRtpSender-transport.https.html
@@ -13,7 +13,7 @@
   promise_test(async t => {
     const caller = new RTCPeerConnection();
     t.add_cleanup(() => caller.close());
-    const stream = await navigator.mediaDevices.getUserMedia({audio: true});
+    const stream = await getNoiseStream({audio: true});
     t.add_cleanup(() => stream.getTracks().forEach(track => track.stop()));
     const [track] = stream.getTracks();
     const sender = caller.addTrack(track);
@@ -24,7 +24,7 @@
   promise_test(async t => {
     const caller = new RTCPeerConnection();
     t.add_cleanup(() => caller.close());
-    const stream = await navigator.mediaDevices.getUserMedia({audio: true});
+    const stream = await getNoiseStream({audio: true});
     t.add_cleanup(() => stream.getTracks().forEach(track => track.stop()));
     const [track] = stream.getTracks();
     const sender = caller.addTrack(track);
@@ -45,7 +45,7 @@
     promise_test(async t => {
         const caller = new RTCPeerConnection({bundlePolicy: bundle_policy});
       t.add_cleanup(() => caller.close());
-      const stream = await navigator.mediaDevices.getUserMedia(
+      const stream = await getNoiseStream(
           {audio: true, video:true});
       t.add_cleanup(() => stream.getTracks().forEach(track => track.stop()));
       const [track1, track2] = stream.getTracks();
@@ -91,7 +91,7 @@
     promise_test(async t => {
         const caller = new RTCPeerConnection({bundlePolicy: bundle_policy});
       t.add_cleanup(() => caller.close());
-      const stream = await navigator.mediaDevices.getUserMedia(
+      const stream = await getNoiseStream(
           {audio: true, video:true});
       t.add_cleanup(() => stream.getTracks().forEach(track => track.stop()));
       const [track1, track2] = stream.getTracks();
diff --git a/third_party/blink/web_tests/external/wpt/webrtc/RTCRtpTransceiver.https.html b/third_party/blink/web_tests/external/wpt/webrtc/RTCRtpTransceiver.https.html
index 6757189..36708d11 100644
--- a/third_party/blink/web_tests/external/wpt/webrtc/RTCRtpTransceiver.https.html
+++ b/third_party/blink/web_tests/external/wpt/webrtc/RTCRtpTransceiver.https.html
@@ -448,7 +448,7 @@
     t.add_cleanup(() => pc1.close());
     t.add_cleanup(() => pc2.close());
 
-    const stream = await navigator.mediaDevices.getUserMedia({audio: true});
+    const stream = await getNoiseStream({audio: true});
     t.add_cleanup(() => stopTracks(stream));
     const track = stream.getAudioTracks()[0];
     pc1.addTrack(track, stream);
diff --git a/third_party/blink/web_tests/flag-specific/composite-after-paint/fast/forms/calendar-picker/calendar-picker-appearance-zoom125-expected.png b/third_party/blink/web_tests/flag-specific/composite-after-paint/fast/forms/calendar-picker/calendar-picker-appearance-zoom125-expected.png
new file mode 100644
index 0000000..0468f555
--- /dev/null
+++ b/third_party/blink/web_tests/flag-specific/composite-after-paint/fast/forms/calendar-picker/calendar-picker-appearance-zoom125-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/composite-after-paint/fast/forms/select/listbox-appearance-basic-expected.png b/third_party/blink/web_tests/flag-specific/composite-after-paint/fast/forms/select/listbox-appearance-basic-expected.png
new file mode 100644
index 0000000..ab77753
--- /dev/null
+++ b/third_party/blink/web_tests/flag-specific/composite-after-paint/fast/forms/select/listbox-appearance-basic-expected.png
Binary files differ
diff --git a/third_party/blink/web_tests/flag-specific/composite-after-paint/paint/invalidation/forms/button-reset-focus-by-mouse-then-keydown-expected.txt b/third_party/blink/web_tests/flag-specific/composite-after-paint/paint/invalidation/forms/button-reset-focus-by-mouse-then-keydown-expected.txt
index a93c066..e6e44fef 100644
--- a/third_party/blink/web_tests/flag-specific/composite-after-paint/paint/invalidation/forms/button-reset-focus-by-mouse-then-keydown-expected.txt
+++ b/third_party/blink/web_tests/flag-specific/composite-after-paint/paint/invalidation/forms/button-reset-focus-by-mouse-then-keydown-expected.txt
@@ -8,7 +8,7 @@
       "paintInvalidations": [
         {
           "object": "LayoutButton BUTTON",
-          "rect": [7, 7, 52, 24],
+          "rect": [6, 6, 54, 26],
           "reason": "subtree"
         },
         {
diff --git a/third_party/blink/web_tests/flag-specific/composite-after-paint/paint/invalidation/forms/checkbox-focus-by-mouse-then-keydown-expected.txt b/third_party/blink/web_tests/flag-specific/composite-after-paint/paint/invalidation/forms/checkbox-focus-by-mouse-then-keydown-expected.txt
index 37ffa6e..2c6302f 100644
--- a/third_party/blink/web_tests/flag-specific/composite-after-paint/paint/invalidation/forms/checkbox-focus-by-mouse-then-keydown-expected.txt
+++ b/third_party/blink/web_tests/flag-specific/composite-after-paint/paint/invalidation/forms/checkbox-focus-by-mouse-then-keydown-expected.txt
@@ -8,7 +8,7 @@
       "paintInvalidations": [
         {
           "object": "LayoutBlockFlow INPUT",
-          "rect": [11, 10, 15, 15],
+          "rect": [10, 9, 17, 17],
           "reason": "subtree"
         }
       ]
diff --git a/third_party/blink/web_tests/flag-specific/composite-after-paint/paint/invalidation/forms/radio-focus-by-mouse-then-keydown-expected.txt b/third_party/blink/web_tests/flag-specific/composite-after-paint/paint/invalidation/forms/radio-focus-by-mouse-then-keydown-expected.txt
index 8a7b20d..a7336efd 100644
--- a/third_party/blink/web_tests/flag-specific/composite-after-paint/paint/invalidation/forms/radio-focus-by-mouse-then-keydown-expected.txt
+++ b/third_party/blink/web_tests/flag-specific/composite-after-paint/paint/invalidation/forms/radio-focus-by-mouse-then-keydown-expected.txt
@@ -8,7 +8,7 @@
       "paintInvalidations": [
         {
           "object": "LayoutBlockFlow INPUT",
-          "rect": [12, 10, 15, 15],
+          "rect": [11, 9, 17, 17],
           "reason": "subtree"
         }
       ]
diff --git a/third_party/blink/web_tests/flag-specific/composite-after-paint/paint/invalidation/forms/textarea-caret-expected.txt b/third_party/blink/web_tests/flag-specific/composite-after-paint/paint/invalidation/forms/textarea-caret-expected.txt
index 3113f8f..4fd553a 100644
--- a/third_party/blink/web_tests/flag-specific/composite-after-paint/paint/invalidation/forms/textarea-caret-expected.txt
+++ b/third_party/blink/web_tests/flag-specific/composite-after-paint/paint/invalidation/forms/textarea-caret-expected.txt
@@ -8,12 +8,12 @@
       "paintInvalidations": [
         {
           "object": "LayoutTextControl TEXTAREA id='editor'",
-          "rect": [7, 7, 183, 40],
+          "rect": [6, 6, 185, 42],
           "reason": "chunk appeared"
         },
         {
           "object": "LayoutTextControl TEXTAREA id='editor'",
-          "rect": [7, 7, 183, 40],
+          "rect": [6, 6, 185, 42],
           "reason": "chunk appeared"
         },
         {
diff --git a/third_party/blink/web_tests/flag-specific/composite-after-paint/paint/invalidation/selection/selection-in-composited-scrolling-container-expected.txt b/third_party/blink/web_tests/flag-specific/composite-after-paint/paint/invalidation/selection/selection-in-composited-scrolling-container-expected.txt
index 240eb38..b6011be 100644
--- a/third_party/blink/web_tests/flag-specific/composite-after-paint/paint/invalidation/selection/selection-in-composited-scrolling-container-expected.txt
+++ b/third_party/blink/web_tests/flag-specific/composite-after-paint/paint/invalidation/selection/selection-in-composited-scrolling-container-expected.txt
@@ -8,7 +8,7 @@
       "paintInvalidations": [
         {
           "object": "LayoutTextControl INPUT id='target'",
-          "rect": [7, 7, 63, 24],
+          "rect": [6, 6, 65, 26],
           "reason": "subtree"
         },
         {
diff --git a/third_party/blink/web_tests/flag-specific/composite-after-paint/paint/invalidation/selection/selection-in-non-composited-scrolling-container-expected.txt b/third_party/blink/web_tests/flag-specific/composite-after-paint/paint/invalidation/selection/selection-in-non-composited-scrolling-container-expected.txt
index 4cdb36e5..9bcecbd 100644
--- a/third_party/blink/web_tests/flag-specific/composite-after-paint/paint/invalidation/selection/selection-in-non-composited-scrolling-container-expected.txt
+++ b/third_party/blink/web_tests/flag-specific/composite-after-paint/paint/invalidation/selection/selection-in-non-composited-scrolling-container-expected.txt
@@ -8,7 +8,7 @@
       "paintInvalidations": [
         {
           "object": "LayoutTextControl INPUT id='target'",
-          "rect": [7, 7, 63, 24],
+          "rect": [6, 6, 65, 26],
           "reason": "subtree"
         },
         {
diff --git a/third_party/blink/web_tests/http/tests/origin_trials/webexposed/web-nfc-origin-trial-interfaces.html b/third_party/blink/web_tests/http/tests/origin_trials/webexposed/web-nfc-origin-trial-interfaces.html
index f72344a..c6d3474c 100644
--- a/third_party/blink/web_tests/http/tests/origin_trials/webexposed/web-nfc-origin-trial-interfaces.html
+++ b/third_party/blink/web_tests/http/tests/origin_trials/webexposed/web-nfc-origin-trial-interfaces.html
@@ -16,7 +16,7 @@
         'NDEFReader': ['scan', 'onreading', 'onerror'],
         'NDEFReadingEvent': ['serialNumber', 'message'],
         'NDEFRecord': ['recordType', 'mediaType', 'id', 'encoding', 'lang', 'data', 'toRecords'],
-        'NDEFWriter': ['push'],
+        'NDEFWriter': ['write'],
       },
   );
 }, "WebNFC related interfaces in Origin-Trial enabled document.");
diff --git a/third_party/blink/web_tests/media/encrypted-media/encrypted-media-encryption-schemes.html b/third_party/blink/web_tests/media/encrypted-media/encrypted-media-encryption-schemes.html
index 9975c38..10311e3 100644
--- a/third_party/blink/web_tests/media/encrypted-media/encrypted-media-encryption-schemes.html
+++ b/third_party/blink/web_tests/media/encrypted-media/encrypted-media-encryption-schemes.html
@@ -33,15 +33,15 @@
             }
 
             // Verifies that calling navigator.requestMediaKeySystemAccess()
-            // with |configuration| throws a TypeError.
-            function expectTypeError(configuration, testName) {
+            // with |configuration| fails (due to no encryptionScheme being
+            // supported).
+            function expectFailure(configuration, testName) {
                 promise_test(async test => {
                     try {
                         await navigator.requestMediaKeySystemAccess('org.w3.clearkey', configuration);
                         assert_unreached('Unexpected requestMediaKeySystemAccess() success.');
                     } catch(error) {
-                        // Error must be a TypeError.
-                        assert_equals(error.name, 'TypeError', 'unexpected error');
+                        // Error is what we want to happen.
                     }
                 }, testName);
             }
@@ -102,17 +102,27 @@
             expectSupport([buildConfiguration({audio: 'cbcs'}, {video: 'cbcs'})],
                 'cbcs', 'cbcs', 'Audio and Video supports cbcs');
 
+            // Test "cbcs-1-9".
+            expectSupport([buildConfiguration({audio: 'cbcs-1-9'})],
+                'cbcs-1-9', undefined, 'Audio supports cbcs-1-9');
+            expectSupport([buildConfiguration({video: 'cbcs-1-9'})],
+                undefined, 'cbcs-1-9', 'Video supports cbcs-1-9');
+            expectSupport([buildConfiguration({audio: 'cbcs-1-9'}, {video: 'cbcs-1-9'})],
+                'cbcs-1-9', 'cbcs-1-9', 'Audio and Video supports cbcs-1-9');
+
             // Test "invalid", which should fail.
-            expectTypeError([buildConfiguration({audio: 'invalid'})],
+            expectFailure([buildConfiguration({audio: 'invalid'})],
                 'Audio fails with invalid scheme');
-            expectTypeError([buildConfiguration({video: 'invalid'})],
+            expectFailure([buildConfiguration({video: 'invalid'})],
                 'Video fails with invalid scheme');
-            expectTypeError([buildConfiguration({audio: 'invalid'}, {video: 'invalid'})],
+            expectFailure([buildConfiguration({audio: 'invalid'}, {video: 'invalid'})],
                 'Audio and Video fails with invalid scheme');
-            expectTypeError([buildConfiguration({audio: 'cenc'}, {video: 'invalid'})],
+            expectFailure([buildConfiguration({audio: 'cenc'}, {video: 'invalid'})],
                 'Audio valid, Video invalid scheme');
-            expectTypeError([buildConfiguration({audio: 'invalid'}, {video: 'cbcs'})],
-                'Audio invalid scheme, Video valid');
+            expectFailure([buildConfiguration({audio: 'invalid'}, {video: 'cbcs'})],
+                'Audio invalid scheme, Video valid with cbcs');
+            expectFailure([buildConfiguration({audio: 'invalid'}, {video: 'cbcs-1-9'})],
+                'Audio invalid scheme, Video valid with cbcs-1-9');
 
             // Test without encryptionScheme.
             expectSupport([buildConfiguration({audio: null})],
@@ -127,22 +137,30 @@
                 null, 'cbcs', 'Audio missing and Video valid');
 
             // Test with "", which is invalid.
-            expectTypeError([buildConfiguration({audio: ''})],
+            expectFailure([buildConfiguration({audio: ''})],
                 'Audio handles empty encryptionScheme');
-            expectTypeError([buildConfiguration({video: ''})],
+            expectFailure([buildConfiguration({video: ''})],
                 'Video handles empty encryptionScheme');
-            expectTypeError([buildConfiguration({audio: ''}, {video: ''})],
+            expectFailure([buildConfiguration({audio: ''}, {video: ''})],
                 'Audio and Video handles empty encryptionScheme');
-            expectTypeError([buildConfiguration({audio: 'cbcs'}, {video: ''})],
+            expectFailure([buildConfiguration({audio: 'cbcs'}, {video: ''})],
                 'Audio valid and Video empty');
-            expectTypeError([buildConfiguration({audio: ''}, {video: 'cbcs'})],
+            expectFailure([buildConfiguration({audio: ''}, {video: 'cbcs'})],
                 'Audio empty and Video valid');
 
             // Test mixed combinations.
-            expectSupport([buildConfiguration({audio: 'cbcs'}, {video: 'cenc'})],
-                'cbcs', 'cenc', 'Audio supports cbcs and Video supports cenc');
             expectSupport([buildConfiguration({audio: 'cenc'}, {video: 'cbcs'})],
                 'cenc', 'cbcs', 'Audio supports cenc and Video supports cbcs');
+            expectSupport([buildConfiguration({audio: 'cenc'}, {video: 'cbcs-1-9'})],
+                'cenc', 'cbcs-1-9', 'Audio supports cenc and Video supports cbcs-1-9');
+            expectSupport([buildConfiguration({audio: 'cbcs'}, {video: 'cenc'})],
+                'cbcs', 'cenc', 'Audio supports cbcs and Video supports cenc');
+            expectSupport([buildConfiguration({audio: 'cbcs'}, {video: 'cbcs-1-9'})],
+                'cbcs', 'cbcs-1-9', 'Audio supports cbcs and Video supports cbcs-1-9');
+            expectSupport([buildConfiguration({audio: 'cbcs-1-9'}, {video: 'cenc'})],
+                'cbcs-1-9', 'cenc', 'Audio supports cbcs-1-9 and Video supports cenc');
+            expectSupport([buildConfiguration({audio: 'cbcs-1-9'}, {video: 'cbcs'})],
+                'cbcs-1-9', 'cbcs', 'Audio supports cbcs-1-9 and Video supports cbcs');
 
             // Test multiple configurations.
             expectSupport([buildConfiguration({audio: 'cenc'}),
@@ -167,11 +185,11 @@
                 undefined, 'cbcs', 'Mixed entries supports cbcs');
 
             // Test invalid values.
-            expectTypeError([buildConfiguration({audio: 3})],
+            expectFailure([buildConfiguration({audio: 3})],
                 'Audio fails with numeric scheme');
-            expectTypeError([buildConfiguration({audio: [1, 2, 3]})],
+            expectFailure([buildConfiguration({audio: [1, 2, 3]})],
                 'Audio fails with array scheme');
-            expectTypeError([buildConfiguration({audio: {test: 'test'}})],
+            expectFailure([buildConfiguration({audio: {test: 'test'}})],
                 'Audio fails with object scheme');
         </script>
     </body>
diff --git a/third_party/blink/web_tests/webexposed/element-instance-property-listing-expected.txt b/third_party/blink/web_tests/webexposed/element-instance-property-listing-expected.txt
index ba59d4c..8f79b526 100644
--- a/third_party/blink/web_tests/webexposed/element-instance-property-listing-expected.txt
+++ b/third_party/blink/web_tests/webexposed/element-instance-property-listing-expected.txt
@@ -175,6 +175,7 @@
     property onbeforecopy
     property onbeforecut
     property onbeforepaste
+    property onbeforexrselect
     property onblur
     property oncancel
     property oncanplay
@@ -1357,6 +1358,7 @@
     property onbeforecopy
     property onbeforecut
     property onbeforepaste
+    property onbeforexrselect
     property onblur
     property oncancel
     property oncanplay
diff --git a/third_party/blink/web_tests/webexposed/global-interface-listing-expected.txt b/third_party/blink/web_tests/webexposed/global-interface-listing-expected.txt
index 4f47883..102fc8ec 100644
--- a/third_party/blink/web_tests/webexposed/global-interface-listing-expected.txt
+++ b/third_party/blink/web_tests/webexposed/global-interface-listing-expected.txt
@@ -2056,6 +2056,7 @@
     getter onbeforecopy
     getter onbeforecut
     getter onbeforepaste
+    getter onbeforexrselect
     getter onfullscreenchange
     getter onfullscreenerror
     getter onsearch
@@ -2183,6 +2184,7 @@
     setter onbeforecopy
     setter onbeforecut
     setter onbeforepaste
+    setter onbeforexrselect
     setter onfullscreenchange
     setter onfullscreenerror
     setter onsearch
@@ -5349,7 +5351,7 @@
 interface NDEFWriter
     attribute @@toStringTag
     method constructor
-    method push
+    method write
 interface NamedNodeMap
     attribute @@toStringTag
     getter length
diff --git a/third_party/blink/web_tests/wpt_internal/webxr/ar_dom_overlay.https.html b/third_party/blink/web_tests/wpt_internal/webxr/ar_dom_overlay.https.html
index 7c4a657..17c6295 100644
--- a/third_party/blink/web_tests/wpt_internal/webxr/ar_dom_overlay.https.html
+++ b/third_party/blink/web_tests/wpt_internal/webxr/ar_dom_overlay.https.html
@@ -14,6 +14,10 @@
   }
 </style>
 <div id="div_overlay">
+  <div id="inner_a">
+  </div>
+  <div id="inner_b">
+  </div>
   <canvas />
 </div>
 <div id="div_other">
@@ -29,6 +33,7 @@
                              supportedFeatures: ALL_FEATURES.concat([
                                  'dom-overlay'])};
 
+let watcherStep = new Event("watcherstep");
 let watcherDone = new Event("watcherdone");
 
 let testFunction = function(overlayElement, session, fakeDeviceController, t) {
@@ -46,14 +51,24 @@
 
   // add: "select", "no_event",
   let eventWatcher = new EventWatcher(
-    t, session, ["select", "watcherdone"]);
+    t, session, ["watcherstep", "select", "watcherdone"]);
   let eventPromise = eventWatcher.wait_for(
-    ["select", "watcherdone"]);
+    ["watcherstep", "select", "watcherdone"]);
+
+  let inner_a = document.getElementById('inner_a');
+  assert_true(inner_a != null);
+  let inner_b = document.getElementById('inner_b');
+  assert_true(inner_b != null);
 
   session.addEventListener('select', (ev) => {
     console.log(ev.type, ev);
   });
 
+  inner_a.addEventListener('beforexrselect', (ev) => {
+    console.log(ev.type, ev);
+    ev.preventDefault();
+  });
+
   // The overlay element should have a transparent background.
   assert_equals(window.getComputedStyle(overlayElement).backgroundColor,
                 'rgba(0, 0, 0, 0)');
@@ -69,6 +84,8 @@
     // Press the primary input button and then release it a short time later.
     session.requestAnimationFrame((time, xrFrame) => {
       console.log('frame 1 time=' + time);
+      input_source.setOverlayPointerPosition(inner_a.offsetLeft + 1,
+                                             inner_a.offsetTop + 1);
       input_source.startSelection();
 
       session.requestAnimationFrame((time, xrFrame) => {
@@ -80,7 +97,25 @@
           // Need to process one more frame to allow select to propagate.
           session.requestAnimationFrame((time, xrFrame) => {
             console.log('frame 4 time=' + time);
-            session.dispatchEvent(watcherDone);
+            session.dispatchEvent(watcherStep);
+
+            session.requestAnimationFrame((time, xrFrame) => {
+              console.log('frame 5 time=' + time);
+              input_source.setOverlayPointerPosition(inner_b.offsetLeft + 1,
+                                                     inner_b.offsetTop + 1);
+              input_source.startSelection();
+
+              session.requestAnimationFrame((time, xrFrame) => {
+                console.log('frame 6 time=' + time);
+                input_source.endSelection();
+
+                session.requestAnimationFrame((time, xrFrame) => {
+                  console.log('frame 7 time=' + time);
+                  // Need to process one more frame to allow select to propagate.
+                  session.dispatchEvent(watcherDone);
+                });
+              });
+            });
           });
         });
       });
diff --git a/third_party/blink/web_tests/wpt_internal/webxr/resources/xr-internal-device-mocking.js b/third_party/blink/web_tests/wpt_internal/webxr/resources/xr-internal-device-mocking.js
index b8a71e71..284f563 100644
--- a/third_party/blink/web_tests/wpt_internal/webxr/resources/xr-internal-device-mocking.js
+++ b/third_party/blink/web_tests/wpt_internal/webxr/resources/xr-internal-device-mocking.js
@@ -47,3 +47,22 @@
 
   return this.frames_throttled_;
 };
+
+MockXRInputSource.prototype.getInputSourceStateCommon =
+    MockXRInputSource.prototype.getInputSourceState;
+
+MockXRInputSource.prototype.getInputSourceState = function() {
+  let input_state = this.getInputSourceStateCommon();
+
+  console.log('getInputSourceState this.overlay_pointer_position_=' + JSON.stringify(this.overlay_pointer_position_));
+  if (this.overlay_pointer_position_) {
+    input_state.overlayPointerPosition = this.overlay_pointer_position_;
+  }
+
+  console.log('input_state=' + JSON.stringify(input_state));
+  return input_state;
+};
+
+MockXRInputSource.prototype.setOverlayPointerPosition = function(x, y) {
+  this.overlay_pointer_position_ = { x: x, y: y };
+};
diff --git a/third_party/fontconfig/README.chromium b/third_party/fontconfig/README.chromium
index d230c60..0527e45 100644
--- a/third_party/fontconfig/README.chromium
+++ b/third_party/fontconfig/README.chromium
@@ -1,6 +1,6 @@
 Name: fontconfig
 URL: http://www.freedesktop.org/wiki/Software/fontconfig/
-Version: cd51cb241aad7b362b793200ca7d42595c14f52b
+Version: 452be8125f0e2a18a7dfef469e05d19374d36307
 License: MIT
 License File: src/COPYING
 Security Critical: yes
diff --git a/third_party/fontconfig/include/src/fcstdint.h b/third_party/fontconfig/include/src/fcstdint.h
index 496081d3..76ba174e8 100644
--- a/third_party/fontconfig/include/src/fcstdint.h
+++ b/third_party/fontconfig/include/src/fcstdint.h
@@ -2,7 +2,7 @@
 #define _FONTCONFIG_SRC_FCSTDINT_H 1
 #ifndef _GENERATED_STDINT_H
 #define _GENERATED_STDINT_H "fontconfig 2.13.91"
-/* generated using gnu compiler gcc (Debian 9.2.1-9) 9.2.1 20191008 */
+/* generated using gnu compiler gcc (Debian 9.2.1-23) 9.2.1 20200110 */
 #define _STDINT_HAVE_STDINT_H 1
 #include <stdint.h>
 #endif
diff --git a/third_party/webxr_test_pages/webxr-samples/css/common.css b/third_party/webxr_test_pages/webxr-samples/css/common.css
index e161575..39b1abd9 100644
--- a/third_party/webxr_test_pages/webxr-samples/css/common.css
+++ b/third_party/webxr_test_pages/webxr-samples/css/common.css
@@ -4,6 +4,9 @@
     Segoe UI, Roboto, Oxygen,
     Ubuntu, Cantarell, Fira Sans,
     Droid Sans, Helvetica Neue, sans-serif;
+
+  /* turn off text selection since it interferes with DOM overlay drags */
+  user-select: none;
 }
 
 header {
diff --git a/third_party/webxr_test_pages/webxr-samples/css/debug-sources.css b/third_party/webxr_test_pages/webxr-samples/css/debug-sources.css
new file mode 100644
index 0000000..9b76dea
--- /dev/null
+++ b/third_party/webxr_test_pages/webxr-samples/css/debug-sources.css
@@ -0,0 +1,22 @@
+div.debug-sources {
+  position: absolute;
+  right: 0;
+  top: 0;
+  background-color: rgba(255, 255, 255, 0.7);
+  padding: 4px;
+}
+
+@keyframes debug-fade {
+  0% { background-color: green; }
+  100% { background-color: initial; }
+}
+
+div.debug-sources span.evstate {
+  font-family: monospace;
+  border: 1px solid green;
+  margin-right: 4px;
+}
+
+div.debug-sources span.evstate.changed {
+  animation: debug-fade 1s;
+}
diff --git a/third_party/webxr_test_pages/webxr-samples/js/debug-sources.js b/third_party/webxr_test_pages/webxr-samples/js/debug-sources.js
new file mode 100644
index 0000000..2d72347
--- /dev/null
+++ b/third_party/webxr_test_pages/webxr-samples/js/debug-sources.js
@@ -0,0 +1,83 @@
+// Utility for creating an element with attributes and text
+let makeElem = function(type, attrs, text) {
+  let elem = document.createElement(type);
+  if (attrs) {
+    for (let attr in attrs) elem[attr] = attrs[attr];
+  }
+  if (text) {
+    elem.innerText = text;
+  }
+  return elem;
+}
+
+let showEvent = function(ev) {
+  let elem = document.getElementById('ev-' + ev.type);
+  if (!elem) return;
+  elem.classList.remove('changed');
+  void elem.offsetWidth; // trigger reflow
+  elem.classList.add('changed');
+}
+
+export class DebugSources {
+  constructor() {
+    console.log('DebugSources constructor');
+    let style = document.createElement('link');
+    style.rel = 'stylesheet';
+    style.type = 'text/css';
+    style.href = '../css/debug-sources.css';
+    document.head.appendChild(style);
+
+    let div = makeElem('div', {className: 'debug-sources'}, 'XR events: ');
+    div.appendChild(makeElem('span', {id: 'ev-selectstart', className: 'evstate'}, 'start'));
+    div.appendChild(makeElem('span', {id: 'ev-selectend', className: 'evstate'}, 'end'));
+    div.appendChild(makeElem('span', {id: 'ev-select', className: 'evstate'}, 'select'));
+    div.appendChild(makeElem('br'));
+    div.appendChild(makeElem('span', {id: 'ev-beforexrselect', className: 'evstate'}, 'beforexrselect'));
+    div.appendChild(makeElem('br'));
+    div.appendChild(makeElem('span', {id: 'ev-inputsourceschange', className: 'evstate'}, 'inputsourceschange'));
+    div.appendChild(makeElem('pre', {id: 'debug-sources-list'}));
+    document.body.insertBefore(div, document.body.firstChild);
+
+    document.body.addEventListener('beforexrselect', showEvent);
+  }
+
+  startSession(session) {
+    session.addEventListener('selectstart', showEvent);
+    session.addEventListener('selectend', showEvent);
+    session.addEventListener('select', showEvent);
+    session.addEventListener('inputsourceschange', showEvent);
+
+    session.addEventListener('inputsourceschange', function(ev) {
+      document.getElementById('ev-inputsourceschange').innerText =
+          'inputsourceschange' +
+          ' add=' + ev.added.length +
+          ' remove=' + ev.removed.length +
+          ' total=' + ev.session.inputSources.length;
+    });
+  }
+
+  update(frame, xrSpace) {
+    let inputSources = frame.session.inputSources;
+    let sourceDebug = [];
+    for (let i = 0; i < inputSources.length; ++i) {
+      let source = inputSources[i];
+      let ray_debug = 'n/a';
+      if (source.targetRaySpace) {
+        let rayPose = frame.getPose(source.targetRaySpace, xrSpace);
+        let m = rayPose.transform.matrix;
+        ray_debug = m[12].toFixed(3) + ',' + m[13].toFixed(3) + ',' + m[14].toFixed(3);
+      }
+      let grip_debug = 'n/a';
+      if (source.gripSpace) {
+        let gripPose = frame.getPose(source.targetRaySpace, xrSpace);
+        let m = gripPose.transform.matrix;
+        grip_debug = m[12].toFixed(3) + ',' + m[13].toFixed(3) + ',' + m[14].toFixed(3);
+      }
+      sourceDebug.push('#' + i +
+                       ' ray:' + ray_debug +
+                       ' grip:' + grip_debug);
+    }
+    document.getElementById('debug-sources-list').innerText =
+        sourceDebug.length ? sourceDebug.join('\n') : '\n';
+  }
+}
diff --git a/third_party/webxr_test_pages/webxr-samples/proposals/phone-ar-hit-test.html b/third_party/webxr_test_pages/webxr-samples/proposals/phone-ar-hit-test.html
index c94c8b5..1048d730 100644
--- a/third_party/webxr_test_pages/webxr-samples/proposals/phone-ar-hit-test.html
+++ b/third_party/webxr_test_pages/webxr-samples/proposals/phone-ar-hit-test.html
@@ -51,7 +51,10 @@
           <br/>
           <hr/>
           <input id="useReticle" type="checkbox" checked>
-          <label for="useReticle">Use reticle for placement</label>
+          <label for="useReticle">Use reticle for placement</label><br/>
+
+          <input id="useDomOverlay" type="checkbox" checked>
+          <label for="useDomOverlay">Enable DOM Overlay</label><br/>
         </p>
       </details>
     </header>
@@ -65,18 +68,40 @@
       import {RayNode} from '../js/cottontail/src/nodes/ray-node.js';
       import {DropShadowNode} from '../js/cottontail/src/nodes/drop-shadow.js';
       import {vec3} from '../js/cottontail/src/math/gl-matrix.js';
+      import {DebugSources} from '../js/debug-sources.js';
 
       // If requested, initialize the WebXR polyfill
       if (QueryArgs.getBool('allowPolyfill', false)) {
         var polyfill = new WebXRPolyfill();
       }
 
+      let debugSources;
+      if (QueryArgs.getBool('debugSources', false)) {
+        debugSources = new DebugSources();
+      }
+
+      // If requested, add a cross-origin iframe element via SVG
+      if (QueryArgs.getBool('iframe', false)) {
+        let iframe = document.createElement('iframe');
+        iframe.src = 'data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><rect height="150" width="150" fill="red" fill-opacity="0.3"/></svg>';
+        iframe.style = 'position: absolute; right: 0; bottom: 0; width: 150px; height: 150px;';
+        document.body.insertBefore(iframe, document.body.firstChild);
+      }
+
       let useReticle = document.getElementById('useReticle');
+      const useDomOverlay = document.getElementById('useDomOverlay');
 
       // Debugging constants.
       const unsubscribeAfterTouch = false; // unsubscribe from hit test after first touch if in reticle mode?
 
+      // Suppress XR events for interactions with the DOM overlay
+      document.querySelector('header').addEventListener('beforexrselect', (ev) => {
+        console.log(ev.type);
+        ev.preventDefault();
+      });
+
       // XR globals.
+      let xrSession = null;
       let xrButton = null;
       let xrRefSpace = null;
       let xrLocalFloor = null;
@@ -91,6 +116,16 @@
       let scene = new Scene();
       scene.enableStats(false);
 
+      useReticle.addEventListener('change', (ev) => {
+        if (!xrSession) return;
+        if (useReticle.checked) {
+          requestViewerSpaceHitTestSource();
+        } else {
+          xrViewerSpaceHitTestSource = null;
+          arObject.visible = false;
+        }
+      });
+
       // Visualise the origin.
       {
         let xRay = new RayNode({direction : [5, 0, 0], baseColor : [1, 0, 0, 1]});
@@ -155,6 +190,10 @@
         let options = {
           requiredFeatures: ['local-floor'],
         };
+        if (useDomOverlay.checked) {
+          options.optionalFeatures = ['dom-overlay'];
+          options.domOverlay = {root: document.body};
+        }
         navigator.xr.requestSession('immersive-ar', options).then((session) => {
               session.mode = 'immersive-ar';
               xrButton.setSession(session);
@@ -162,7 +201,25 @@
         });
       }
 
+      function requestViewerSpaceHitTestSource() {
+        console.debug("Requesting hit test source.");
+        xrSession.requestHitTestSource({
+          space : xrViewerSpace,
+          //space : xrLocalFloor, // WIP: change back to viewer
+          //space : xrOffsetSpace, // WIP: change back to viewer
+          offsetRay : new XRRay()
+          //offsetRay : new XRRay(new DOMPointReadOnly(0,.5,-.5), new DOMPointReadOnly(0, -0.5, -1)) // WIP: change back to default
+        }).then((hitTestSource) => {
+          console.debug("Hit test source created.");
+          xrViewerSpaceHitTestSource = hitTestSource;
+        }).catch(error => {
+          console.error("Error when requesting hit test source", error);
+        });
+      }
+
       function onSessionStarted(session) {
+        useDomOverlay.disabled = true;
+        xrSession = session;
         session.addEventListener('end', onSessionEnded);
         session.addEventListener('select', onSelect);
         session.addEventListener('inputsourceschange', onInputSourcesChange);
@@ -174,6 +231,8 @@
           xrTransientInputHitTestSource = transient_input_hit_test_source;
         });
 
+        if (debugSources) debugSources.startSession(session);
+
         if (!gl) {
           gl = createWebGLContext({
             xrCompatible: true
@@ -200,19 +259,7 @@
               );
 
               if (useReticle.checked) {
-                console.debug("Requesting hit test source.");
-                session.requestHitTestSource({
-                    space : xrViewerSpace,
-                    //space : xrLocalFloor, // WIP: change back to viewer
-                    //space : xrOffsetSpace, // WIP: change back to viewer
-                    offsetRay : new XRRay()
-                    //offsetRay : new XRRay(new DOMPointReadOnly(0,.5,-.5), new DOMPointReadOnly(0, -0.5, -1)) // WIP: change back to default
-                  }).then((hitTestSource) => {
-                  console.debug("Hit test source created.");
-                  xrViewerSpaceHitTestSource = hitTestSource;
-                }).catch(error => {
-                  console.error("Error when requesting hit test source", error);
-                });
+                requestViewerSpaceHitTestSource();
               }
 
               session.requestAnimationFrame(onXRFrame);
@@ -226,7 +273,9 @@
       }
 
       function onSessionEnded(event) {
+        useDomOverlay.disabled = false;
         xrButton.setSession(null);
+        xrSession = null;
       }
 
       // Adds a new object to the scene at the
@@ -285,10 +334,14 @@
       // Called every time a XRSession requests that a new frame be drawn.
       function onXRFrame(t, frame) {
         let session = frame.session;
+        session.requestAnimationFrame(onXRFrame);
+
         let pose = frame.getViewerPose(xrRefSpace);
         let viewerSpacePose = frame.getPose(xrViewerSpace, xrRefSpace);
         let offsetSpacePose = frame.getPose(xrOffsetSpace, xrRefSpace);
 
+        if (debugSources) debugSources.update(frame, xrViewerSpace);
+
         if(offsetSpacePose) {
           offsetSpaceNode.matrix = offsetSpacePose.transform.matrix;
           offsetSpaceNode.visible = true;
@@ -324,8 +377,6 @@
 
         scene.startFrame();
 
-        session.requestAnimationFrame(onXRFrame);
-
         scene.drawXRFrame(frame, pose);
 
         scene.endFrame();
diff --git a/third_party/webxr_test_pages/webxr-samples/proposals/phone-ar-plane-detection-anchors.html b/third_party/webxr_test_pages/webxr-samples/proposals/phone-ar-plane-detection-anchors.html
index f3c25aa..7243cc0 100644
--- a/third_party/webxr_test_pages/webxr-samples/proposals/phone-ar-plane-detection-anchors.html
+++ b/third_party/webxr_test_pages/webxr-samples/proposals/phone-ar-plane-detection-anchors.html
@@ -66,6 +66,10 @@
 
           <input id="extendPlanesEnabled" type="checkbox">
           <label for="extendPlanesEnabled">Extend bottom-most plane to infinity</label><br/>
+
+          <input id="useDomOverlay" type="checkbox" checked>
+          <label for="useDomOverlay">Enable DOM Overlay</label><br/>
+
           <a class="back" href="./index.html">Back</a>
         </p>
       </details>
@@ -83,6 +87,7 @@
       import {DropShadowNode} from '../js/cottontail/src/nodes/drop-shadow.js';
       import {vec3, vec4} from '../js/cottontail/src/math/gl-matrix.js';
       import {runUnitTests} from '../js/hit-test-unittests.js';
+      import {DebugSources} from '../js/debug-sources.js';
 
       runUnitTests();
 
@@ -91,12 +96,18 @@
         var polyfill = new WebXRPolyfill();
       }
 
+      let debugSources;
+      if (QueryArgs.getBool('debugSources', false)) {
+        debugSources = new DebugSources();
+      }
+
       const useReticle = document.getElementById('useReticle');
       const useReticleRays = document.getElementById('useReticleRays');
       const useReticleOrigin = document.getElementById('useReticleOrigin');
       const usePlaneOrigin = document.getElementById('usePlaneOrigin');
       const enlargedPlanesEnabled = document.getElementById('enlargedPlanesEnabled');
       const extendPlanesEnabled = document.getElementById('extendPlanesEnabled');
+      const useDomOverlay = document.getElementById('useDomOverlay');
 
       const flowerEnabled = true;
 
@@ -113,6 +124,12 @@
         });
       });
 
+      // Suppress XR events for interactions with the DOM overlay
+      document.querySelector('header').addEventListener('beforexrselect', (ev) => {
+        console.log(ev.type);
+        ev.preventDefault();
+      });
+
       enlargedPlanesEnabled.addEventListener('input', element => {
         console.log("Changing state of enlarged planes, count:", all_extended_planes.length);
         all_extended_planes.forEach(plane => plane.visible = enlargedPlanesEnabled.checked);
@@ -243,7 +260,12 @@
       }
 
       function onRequestSession() {
-        navigator.xr.requestSession('immersive-ar').then((session) => {
+        let sessionInit = {};
+        if (useDomOverlay.checked) {
+          sessionInit.optionalFeatures = ['dom-overlay'];
+          sessionInit.domOverlay = {root: document.body};
+        }
+        navigator.xr.requestSession('immersive-ar', sessionInit).then((session) => {
           session.mode = 'immersive-ar';
           xrButton.setSession(session);
           onSessionStarted(session);
@@ -251,9 +273,12 @@
       }
 
       function onSessionStarted(session) {
+        useDomOverlay.disabled = true;
         session.addEventListener('end', onSessionEnded);
         session.addEventListener('select', onSelect);
 
+        if (debugSources) debugSources.startSession(session);
+
         if (!gl) {
           gl = createWebGLContext({
             xrCompatible: true,
@@ -285,6 +310,7 @@
       }
 
       function onSessionEnded(event) {
+        useDomOverlay.disabled = false;
         xrButton.setSession(null);
       }
 
@@ -459,6 +485,8 @@
 
         session.requestAnimationFrame(onXRFrame);
 
+        if (debugSources) debugSources.update(frame, xrRefSpace);
+
         let pose = frame.getViewerPose(xrRefSpace);
 
         let detected_planes = frame.worldInformation.detectedPlanes;
diff --git a/tools/metrics/histograms/enums.xml b/tools/metrics/histograms/enums.xml
index 389c842..17a8d1c 100644
--- a/tools/metrics/histograms/enums.xml
+++ b/tools/metrics/histograms/enums.xml
@@ -19127,6 +19127,7 @@
   <int value="658" label="PerAppTimeLimitsWhitelist"/>
   <int value="659" label="AccessibilityShortcutsEnabled"/>
   <int value="660" label="ReportDeviceGraphicsStatus"/>
+  <int value="661" label="DeviceLoginScreenAccessibilityShortcutsEnabled"/>
 </enum>
 
 <enum name="EnterprisePolicyInvalidations">
@@ -25895,7 +25896,7 @@
   <int value="3092" label="RegisterProtocolHandlerSameOriginAsTop"/>
   <int value="3093" label="RegisterProtocolHandlerCrossOriginSubframe"/>
   <int value="3094" label="WebNfcNdefReaderScan"/>
-  <int value="3095" label="WebNfcNdefWriterPush"/>
+  <int value="3095" label="WebNfcNdefWriterWrite"/>
   <int value="3096" label="HTMLPortalElement"/>
   <int value="3097" label="V8HTMLPortalElement_Activate_Method"/>
   <int value="3098" label="V8HTMLPortalElement_PostMessage_Method"/>
diff --git a/tools/metrics/histograms/histograms.xml b/tools/metrics/histograms/histograms.xml
index 7ea64f27..207ebca 100644
--- a/tools/metrics/histograms/histograms.xml
+++ b/tools/metrics/histograms/histograms.xml
@@ -4476,9 +4476,10 @@
 </histogram>
 
 <histogram name="AndroidSms.EffectivePWAInstallationSuccess"
-    enum="BooleanSuccess" expires_after="2020-05-10">
+    enum="BooleanSuccess" expires_after="2020-12-15">
   <owner>azeemarshad@chromium.org</owner>
   <owner>jonmann@chromium.org</owner>
+  <owner>better-together-dev@google.com</owner>
   <summary>
     Records effective final success/failure when trying to install Android
     Messages for Web PWA. This is recorded once when any one of the installation
@@ -4488,8 +4489,9 @@
 </histogram>
 
 <histogram name="AndroidSms.FcmMessageDispatchFailure"
-    enum="AndroidSmsFcmMessageType" expires_after="2020-06-07">
+    enum="AndroidSmsFcmMessageType" expires_after="2020-12-15">
   <owner>azeemarshad@chromium.org</owner>
+  <owner>better-together-dev@google.com</owner>
   <summary>
     Records message types for which all retry attempts failed when dispatching
     to Android Messages for Web Service-Worker. This is recorded when using FCM
@@ -4498,8 +4500,9 @@
 </histogram>
 
 <histogram name="AndroidSms.FcmMessageDispatchRetry"
-    enum="AndroidSmsFcmMessageType" expires_after="2020-04-19">
+    enum="AndroidSmsFcmMessageType" expires_after="2020-12-15">
   <owner>azeemarshad@chromium.org</owner>
+  <owner>better-together-dev@google.com</owner>
   <summary>
     Records message types for which a retry was attempted when dispatching to
     Android Messages for Web Service-Worker. This is recorded when using FCM web
@@ -4508,8 +4511,9 @@
 </histogram>
 
 <histogram name="AndroidSms.FcmMessageDispatchSuccess"
-    enum="AndroidSmsFcmMessageType" expires_after="2020-05-31">
+    enum="AndroidSmsFcmMessageType" expires_after="2020-12-15">
   <owner>azeemarshad@chromium.org</owner>
+  <owner>better-together-dev@google.com</owner>
   <summary>
     Records message types for which dispatching to Android Messages for Web
     Service-Worker succeeded. This is recorded when using FCM web push for
@@ -4518,8 +4522,9 @@
 </histogram>
 
 <histogram name="AndroidSms.MultiDeviceFeatureState"
-    enum="MultiDevice_FeatureState" expires_after="2020-06-07">
-  <owner>jlklein@chromium.org</owner>
+    enum="MultiDevice_FeatureState" expires_after="2020-12-15">
+  <owner>azeemarshad@chromium.org</owner>
+  <owner>better-together-dev@google.com</owner>
   <summary>
     Indicates the feature state of the Messages feature. This metric is emitted
     to at the creation of the user session (when the user logs in), and when
@@ -4528,9 +4533,10 @@
 </histogram>
 
 <histogram name="AndroidSms.NumAttemptsForSuccessfulInstallation"
-    units="attempts" expires_after="2020-05-10">
+    units="attempts" expires_after="2020-12-15">
   <owner>azeemarshad@chromium.org</owner>
   <owner>jonmann@chromium.org</owner>
+  <owner>better-together-dev@google.com</owner>
   <summary>
     Records the number of installations attempted for Android Messages for Web
     PWA before succeeding.
@@ -4538,8 +4544,9 @@
 </histogram>
 
 <histogram name="AndroidSms.PWAInstallationResult"
-    enum="WebAppInstallResultCode" expires_after="2020-05-24">
+    enum="WebAppInstallResultCode" expires_after="2020-12-15">
   <owner>azeemarshad@chromium.org</owner>
+  <owner>better-together-dev@google.com</owner>
   <summary>
     Records installation result code for every installation attempt for Android
     Messages for Web PWA initiated through Multidevice setup or settings. This
@@ -4548,9 +4555,9 @@
 </histogram>
 
 <histogram name="AndroidSms.PWAUninstallationResult" enum="BooleanSuccess"
-    expires_after="M81">
+    expires_after="2020-12-15">
   <owner>azeemarshad@chromium.org</owner>
-  <owner>hansberry@chromium.org</owner>
+  <owner>better-together-dev@google.com</owner>
   <summary>
     Records success/failure for when Android Messages for Web PWA is
     uninstalled. The PWA is uninstalled when the messages URL changes, resulting
@@ -4558,8 +4565,10 @@
   </summary>
 </histogram>
 
-<histogram name="AndroidSms.ServiceWorkerLifetime" units="ms">
+<histogram name="AndroidSms.ServiceWorkerLifetime" units="ms"
+    expires_after="2020-12-15">
   <owner>azeemarshad@chromium.org</owner>
+  <owner>better-together-dev@google.com</owner>
   <summary>
     Tracks the duration of time for which the Android Messages for Web Service-
     Worker is handling background connection.
@@ -4567,8 +4576,9 @@
 </histogram>
 
 <histogram name="AndroidSms.ServiceWorkerMessageDispatchStatus"
-    enum="BooleanSuccess">
+    enum="BooleanSuccess" expires_after="2020-12-15">
   <owner>azeemarshad@chromium.org</owner>
+  <owner>better-together-dev@google.com</owner>
   <summary>
     Tracks dispatch success/failure status of the start streaming message sent
     to the Android Messages for Web Service-Worker.
@@ -4868,6 +4878,9 @@
 
 <histogram name="appcache.Manifest.FallbackPattern" enum="BooleanPresent"
     expires_after="M82">
+  <obsolete>
+    Removed 01/2020. Feature has been removed.
+  </obsolete>
   <owner>pwnall@chromium.org</owner>
   <owner>mek@chromium.org</owner>
   <summary>
@@ -4888,6 +4901,9 @@
 
 <histogram name="appcache.Manifest.NetworkPattern" enum="BooleanPresent"
     expires_after="M82">
+  <obsolete>
+    Removed 01/2020. Feature has been removed.
+  </obsolete>
   <owner>pwnall@chromium.org</owner>
   <owner>mek@chromium.org</owner>
   <summary>
@@ -4898,6 +4914,9 @@
 
 <histogram name="appcache.Manifest.Pattern" enum="BooleanPresent"
     expires_after="M82">
+  <obsolete>
+    Removed 01/2020. Feature has been removed.
+  </obsolete>
   <owner>pwnall@chromium.org</owner>
   <owner>mek@chromium.org</owner>
   <summary>
@@ -12879,7 +12898,7 @@
 </histogram>
 
 <histogram name="Autofill.ProfileSuggestionsMadeWithFormatter"
-    enum="BooleanCreated" expires_after="2020-01-16">
+    enum="BooleanCreated" expires_after="2020-03-30">
   <owner>battre@chromium.org</owner>
   <owner>src/components/autofill/OWNERS</owner>
   <summary>
@@ -18683,6 +18702,15 @@
   </summary>
 </histogram>
 
+<histogram name="BlinkGC.TimeForMarkingRoots" units="ms" expires_after="M84">
+  <owner>omerkatz@chromium.org</owner>
+  <owner>oilpan-reviews@chromium.org</owner>
+  <summary>
+    Duration of marking roots within one Blink garbage collection. Reported once
+    per garbage collection at the end.
+  </summary>
+</histogram>
+
 <histogram name="BlinkGC.TimeForNestedInV8" units="ms" expires_after="M84">
   <owner>mlippautz@chromium.org</owner>
   <owner>oilpan-reviews@chromium.org</owner>
@@ -21044,7 +21072,7 @@
 </histogram>
 
 <histogram name="CaptivePortal.Notification.Status"
-    enum="CaptivePortalNotificationStatus" expires_after="2020-04-05">
+    enum="CaptivePortalNotificationStatus" expires_after="2020-06-07">
   <owner>rsorokin@chromium.org</owner>
   <owner>cros-oac@google.com</owner>
   <summary>
@@ -21054,7 +21082,7 @@
 </histogram>
 
 <histogram name="CaptivePortal.Notification.UserAction"
-    enum="CaptivePortalNotificationUserAction" expires_after="2020-04-05">
+    enum="CaptivePortalNotificationUserAction" expires_after="2020-06-07">
   <owner>rsorokin@chromium.org</owner>
   <owner>cros-oac@google.com</owner>
   <summary>
@@ -21074,7 +21102,7 @@
 </histogram>
 
 <histogram name="CaptivePortal.OOBE.DetectionResult" enum="CaptivePortalStatus"
-    expires_after="2020-02-01">
+    expires_after="2020-06-07">
   <owner>rsorokin@chromium.org</owner>
   <owner>cros-oac@google.com</owner>
   <summary>
@@ -21085,7 +21113,7 @@
 </histogram>
 
 <histogram name="CaptivePortal.OOBE.DiscrepancyWithShill" units="units"
-    expires_after="2020-02-01">
+    expires_after="2020-06-07">
   <owner>rsorokin@chromium.org</owner>
   <owner>cros-oac@google.com</owner>
   <summary>
@@ -21096,7 +21124,7 @@
 </histogram>
 
 <histogram name="CaptivePortal.OOBE.PortalToOnlineTransition" units="ms"
-    expires_after="2020-04-05">
+    expires_after="2020-06-07">
   <owner>rsorokin@chromium.org</owner>
   <owner>cros-oac@google.com</owner>
   <summary>
@@ -21106,7 +21134,7 @@
 </histogram>
 
 <histogram name="CaptivePortal.RedirectTime" units="ms"
-    expires_after="2020-04-05">
+    expires_after="2020-06-07">
   <owner>rsorokin@chromium.org</owner>
   <owner>cros-oac@google.com</owner>
   <summary>
@@ -21116,7 +21144,7 @@
 </histogram>
 
 <histogram name="CaptivePortal.Session.DetectionDuration" units="ms"
-    expires_after="2020-04-05">
+    expires_after="2020-06-07">
   <owner>rsorokin@chromium.org</owner>
   <owner>cros-oac@google.com</owner>
   <summary>
@@ -21127,7 +21155,7 @@
 </histogram>
 
 <histogram name="CaptivePortal.Session.DetectionResult"
-    enum="CaptivePortalStatus" expires_after="2020-02-01">
+    enum="CaptivePortalStatus" expires_after="2020-06-07">
   <owner>rsorokin@chromium.org</owner>
   <owner>michaeldo@chromium.org</owner>
   <owner>cros-oac@google.com</owner>
@@ -21140,7 +21168,7 @@
 </histogram>
 
 <histogram name="CaptivePortal.Session.DiscrepancyWithShill"
-    enum="CaptivePortalStatus" expires_after="2020-02-01">
+    enum="CaptivePortalStatus" expires_after="2020-06-07">
   <owner>rsorokin@chromium.org</owner>
   <owner>cros-oac@google.com</owner>
   <summary>
@@ -21151,7 +21179,7 @@
 </histogram>
 
 <histogram name="CaptivePortal.Session.PortalToOnlineTransition" units="ms"
-    expires_after="2020-02-01">
+    expires_after="2020-06-07">
   <owner>rsorokin@chromium.org</owner>
   <owner>cros-oac@google.com</owner>
   <summary>
@@ -29050,9 +29078,9 @@
 </histogram>
 
 <histogram name="CryptAuth.ClientAppMetadataInstanceIdTokenFetch.Result"
-    enum="InstanceIDResult" expires_after="2020-05-17">
-  <owner>jlklein@chromium.org</owner>
+    enum="InstanceIDResult" expires_after="2020-12-15">
   <owner>khorimoto@chromium.org</owner>
+  <owner>better-together-dev@google.com</owner>
   <summary>
     Indicates the result of fetching an InstanceId token during the construction
     of a ClientAppMetadata proto messages.
@@ -29060,9 +29088,10 @@
 </histogram>
 
 <histogram name="CryptAuth.ClientAppMetadataInstanceIdTokenFetch.Retries"
-    units="retries" expires_after="2020-06-07">
+    units="retries" expires_after="2020-12-15">
   <owner>khorimoto@chromium.org</owner>
   <owner>nohle@chromium.org</owner>
+  <owner>better-together-dev@google.com</owner>
   <summary>
     Counts the number of times the InstanceId token fetch got retried because it
     did not match with the expected InstanceId. Logged during the construction
@@ -29071,14 +29100,16 @@
 </histogram>
 
 <histogram name="CryptAuth.DeviceSync.Result" enum="BooleanSuccess"
-    expires_after="2020-06-06">
+    expires_after="2020-12-15">
   <owner>hansberry@chromium.org</owner>
+  <owner>better-together-dev@google.com</owner>
   <summary>Indicates success of performing a DeviceSync.</summary>
 </histogram>
 
 <histogram name="CryptAuth.DeviceSyncSoftwareFeaturesResult"
-    enum="BooleanSuccess" expires_after="M81">
+    enum="BooleanSuccess" expires_after="2020-12-15">
   <owner>hansberry@chromium.org</owner>
+  <owner>better-together-dev@google.com</owner>
   <summary>
     Indicates that there was no issue retrieving supported and enabled software
     features, or that there were enabled features which were not in the
@@ -29089,8 +29120,9 @@
 </histogram>
 
 <histogram name="CryptAuth.DeviceSyncSoftwareFeaturesResult.Failures"
-    enum="CryptAuthSoftwareFeature">
+    enum="CryptAuthSoftwareFeature" expires_after="2020-12-15">
   <owner>hansberry@chromium.org</owner>
+  <owner>better-together-dev@google.com</owner>
   <summary>
     Breaks down by feature type
     &quot;CryptAuth.DeviceSyncSoftwareFeaturesResult&quot;'s count of enabled
@@ -29100,7 +29132,7 @@
 
 <histogram
     name="CryptAuth.DeviceSyncV2.DeviceSyncer.ExecutionTime.GroupPrivateKeyDecryption"
-    units="ms" expires_after="2020-06-01">
+    units="ms" expires_after="2020-12-15">
   <owner>nohle@chromium.org</owner>
   <owner>better-together-dev@google.com</owner>
   <summary>
@@ -29112,7 +29144,7 @@
 
 <histogram
     name="CryptAuth.DeviceSyncV2.DeviceSyncer.ExecutionTime.ShareGroupPrivateKey"
-    units="ms" expires_after="2020-06-01">
+    units="ms" expires_after="2020-12-15">
   <owner>nohle@chromium.org</owner>
   <owner>better-together-dev@google.com</owner>
   <summary>
@@ -29124,7 +29156,7 @@
 
 <histogram
     name="CryptAuth.DeviceSyncV2.FeatureStatusGetter.ExecutionTime.GetFeatureStatuses"
-    units="ms" expires_after="2020-06-01">
+    units="ms" expires_after="2020-12-15">
   <owner>nohle@chromium.org</owner>
   <owner>better-together-dev@google.com</owner>
   <summary>
@@ -29136,7 +29168,7 @@
 
 <histogram
     name="CryptAuth.DeviceSyncV2.GroupPrivateKeySharer.ExecutionTime.GroupPrivateKeyEncryption"
-    units="ms" expires_after="2020-06-01">
+    units="ms" expires_after="2020-12-15">
   <owner>nohle@chromium.org</owner>
   <owner>better-together-dev@google.com</owner>
   <summary>
@@ -29148,7 +29180,7 @@
 
 <histogram
     name="CryptAuth.DeviceSyncV2.GroupPrivateKeySharer.ExecutionTime.ShareGroupPrivateKey"
-    units="ms" expires_after="2020-06-01">
+    units="ms" expires_after="2020-12-15">
   <owner>nohle@chromium.org</owner>
   <owner>better-together-dev@google.com</owner>
   <summary>
@@ -29160,7 +29192,7 @@
 
 <histogram
     name="CryptAuth.DeviceSyncV2.MetadataSyncer.ExecutionTime.FirstSyncMetadata"
-    units="ms" expires_after="2020-06-01">
+    units="ms" expires_after="2020-12-15">
   <owner>nohle@chromium.org</owner>
   <owner>better-together-dev@google.com</owner>
   <summary>
@@ -29172,7 +29204,7 @@
 
 <histogram
     name="CryptAuth.DeviceSyncV2.MetadataSyncer.ExecutionTime.GroupKeyCreation"
-    units="ms" expires_after="2020-06-01">
+    units="ms" expires_after="2020-12-15">
   <owner>nohle@chromium.org</owner>
   <owner>better-together-dev@google.com</owner>
   <summary>
@@ -29184,7 +29216,7 @@
 
 <histogram
     name="CryptAuth.DeviceSyncV2.MetadataSyncer.ExecutionTime.LocalDeviceMetadataEncryption"
-    units="ms" expires_after="2020-06-01">
+    units="ms" expires_after="2020-12-15">
   <owner>nohle@chromium.org</owner>
   <owner>better-together-dev@google.com</owner>
   <summary>
@@ -29196,7 +29228,7 @@
 
 <histogram
     name="CryptAuth.DeviceSyncV2.MetadataSyncer.ExecutionTime.SecondSyncMetadata"
-    units="ms" expires_after="2020-06-01">
+    units="ms" expires_after="2020-12-15">
   <owner>nohle@chromium.org</owner>
   <owner>better-together-dev@google.com</owner>
   <summary>
@@ -29207,15 +29239,16 @@
 </histogram>
 
 <histogram name="CryptAuth.Enrollment.Result" enum="BooleanSuccess"
-    expires_after="2020-06-21">
-  <owner>jhawkins@chromium.org</owner>
+    expires_after="2020-12-15">
+  <owner>nohle@chromium.org</owner>
+  <owner>better-together-dev@google.com</owner>
   <summary>
     The top-level result of the CryptAuth device enrollment process.
   </summary>
 </histogram>
 
 <histogram name="CryptAuth.EnrollmentV2.ApiCallResult.EnrollKeys"
-    enum="CryptAuthApiCallResult" expires_after="2020-06-01">
+    enum="CryptAuthApiCallResult" expires_after="2020-12-15">
   <owner>nohle@chromium.org</owner>
   <owner>better-together-dev@google.com</owner>
   <summary>
@@ -29226,7 +29259,7 @@
 </histogram>
 
 <histogram name="CryptAuth.EnrollmentV2.ApiCallResult.SyncKeys"
-    enum="CryptAuthApiCallResult" expires_after="2020-06-01">
+    enum="CryptAuthApiCallResult" expires_after="2020-12-15">
   <owner>nohle@chromium.org</owner>
   <owner>better-together-dev@google.com</owner>
   <summary>
@@ -29237,7 +29270,7 @@
 </histogram>
 
 <histogram name="CryptAuth.EnrollmentV2.AsyncTaskResult.ClientAppMetadataFetch"
-    enum="CryptAuthAsyncTaskResult" expires_after="2020-06-01">
+    enum="CryptAuthAsyncTaskResult" expires_after="2020-12-15">
   <owner>nohle@chromium.org</owner>
   <owner>better-together-dev@google.com</owner>
   <summary>
@@ -29264,7 +29297,7 @@
 </histogram>
 
 <histogram name="CryptAuth.EnrollmentV2.AsyncTaskResult.KeyCreation"
-    enum="CryptAuthAsyncTaskResult" expires_after="2020-06-01">
+    enum="CryptAuthAsyncTaskResult" expires_after="2020-12-15">
   <owner>nohle@chromium.org</owner>
   <owner>better-together-dev@google.com</owner>
   <summary>
@@ -29275,7 +29308,7 @@
 </histogram>
 
 <histogram name="CryptAuth.EnrollmentV2.ExecutionTime.ClientAppMetadataFetch"
-    units="ms" expires_after="2020-06-01">
+    units="ms" expires_after="2020-12-15">
   <obsolete>
     Deprecated 2019-09-12 in favor of
     CryptAuth.EnrollmentV2.ExecutionTime.ClientAppMetadataFetch2 because too
@@ -29291,7 +29324,7 @@
 </histogram>
 
 <histogram name="CryptAuth.EnrollmentV2.ExecutionTime.ClientAppMetadataFetch2"
-    units="ms" expires_after="2020-06-01">
+    units="ms" expires_after="2020-12-15">
   <owner>nohle@chromium.org</owner>
   <owner>better-together-dev@google.com</owner>
   <summary>
@@ -29302,7 +29335,7 @@
 </histogram>
 
 <histogram name="CryptAuth.EnrollmentV2.ExecutionTime.EnrollKeys" units="ms"
-    expires_after="2020-06-01">
+    expires_after="2020-12-15">
   <owner>nohle@chromium.org</owner>
   <owner>better-together-dev@google.com</owner>
   <summary>
@@ -29329,7 +29362,7 @@
 </histogram>
 
 <histogram name="CryptAuth.EnrollmentV2.ExecutionTime.KeyCreation" units="ms"
-    expires_after="2020-06-01">
+    expires_after="2020-12-15">
   <owner>nohle@chromium.org</owner>
   <owner>better-together-dev@google.com</owner>
   <summary>
@@ -29340,7 +29373,7 @@
 </histogram>
 
 <histogram name="CryptAuth.EnrollmentV2.ExecutionTime.SyncKeys" units="ms"
-    expires_after="2020-06-01">
+    expires_after="2020-12-15">
   <owner>nohle@chromium.org</owner>
   <owner>better-together-dev@google.com</owner>
   <summary>
@@ -29351,7 +29384,7 @@
 </histogram>
 
 <histogram name="CryptAuth.EnrollmentV2.GcmRegistration.AttemptTime" units="ms"
-    expires_after="2020-06-01">
+    expires_after="2020-12-15">
   <owner>nohle@chromium.org</owner>
   <owner>better-together-dev@google.com</owner>
   <summary>
@@ -29361,7 +29394,7 @@
 </histogram>
 
 <histogram name="CryptAuth.EnrollmentV2.GcmRegistration.Success"
-    units="boolean" expires_after="2020-06-01">
+    units="boolean" expires_after="2020-12-15">
   <owner>nohle@chromium.org</owner>
   <owner>better-together-dev@google.com</owner>
   <summary>
@@ -29371,7 +29404,7 @@
 </histogram>
 
 <histogram name="CryptAuth.EnrollmentV2.InvocationReason"
-    enum="CryptAuthV2EnrollmentInvocationReason" expires_after="2020-06-01">
+    enum="CryptAuthV2EnrollmentInvocationReason" expires_after="2020-12-15">
   <owner>nohle@chromium.org</owner>
   <owner>better-together-dev@google.com</owner>
   <summary>
@@ -29381,7 +29414,7 @@
 </histogram>
 
 <histogram name="CryptAuth.EnrollmentV2.Result.ResultCode"
-    enum="CryptAuthV2EnrollmentResult" expires_after="2020-06-01">
+    enum="CryptAuthV2EnrollmentResult" expires_after="2020-12-15">
   <owner>nohle@chromium.org</owner>
   <owner>better-together-dev@google.com</owner>
   <summary>
@@ -29391,7 +29424,7 @@
 </histogram>
 
 <histogram name="CryptAuth.EnrollmentV2.Result.Success" enum="BooleanSuccess"
-    expires_after="2020-06-01">
+    expires_after="2020-12-15">
   <owner>nohle@chromium.org</owner>
   <owner>better-together-dev@google.com</owner>
   <summary>
@@ -29401,7 +29434,7 @@
 </histogram>
 
 <histogram name="CryptAuth.EnrollmentV2.UserKeyPairState"
-    enum="CryptAuthV2EnrollmentUserKeyPairState" expires_after="2020-06-01">
+    enum="CryptAuthV2EnrollmentUserKeyPairState" expires_after="2020-12-15">
   <owner>nohle@chromium.org</owner>
   <owner>better-together-dev@google.com</owner>
   <summary>
@@ -29412,7 +29445,7 @@
 </histogram>
 
 <histogram name="CryptAuth.Gcm.Registration.AttemptTimeWithRetries" units="ms"
-    expires_after="2020-06-01">
+    expires_after="2020-12-15">
   <owner>nohle@chromium.org</owner>
   <owner>better-together-dev@google.com</owner>
   <summary>
@@ -29428,7 +29461,7 @@
 </histogram>
 
 <histogram name="CryptAuth.Gcm.Registration.Result" enum="GCMClientResult"
-    expires_after="2020-06-01">
+    expires_after="2020-12-15">
   <owner>nohle@chromium.org</owner>
   <owner>better-together-dev@google.com</owner>
   <summary>
@@ -40307,8 +40340,9 @@
 </histogram>
 
 <histogram name="EasyUnlock.AuthEvent.DidUserManuallyUnlockPhone"
-    enum="EasyUnlockDidUserManuallyUnlockPhone" expires_after="M81">
+    enum="EasyUnlockDidUserManuallyUnlockPhone" expires_after="2020-12-15">
   <owner>hansberry@chromium.org</owner>
+  <owner>better-together-dev@google.com</owner>
   <summary>
     Upon a successful Smart Lock unlock or signin, records whether the user's
     phone was locked during any point while the lock screen was up. This can be
@@ -40318,8 +40352,9 @@
 </histogram>
 
 <histogram name="EasyUnlock.AuthEvent.SignIn" enum="EasyUnlockAuthEvent"
-    expires_after="2020-05-31">
+    expires_after="2020-12-15">
   <owner>hansberry@chromium.org</owner>
+  <owner>better-together-dev@google.com</owner>
   <summary>
     Measures the use of Smart Lock on the sign-in screen: records whether a
     Smart Lock login succeeded or failed; or if a password fallback was used,
@@ -40329,8 +40364,9 @@
 </histogram>
 
 <histogram name="EasyUnlock.AuthEvent.SignIn.Duration" units="ms"
-    expires_after="M81">
+    expires_after="2020-12-15">
   <owner>hansberry@chromium.org</owner>
+  <owner>better-together-dev@google.com</owner>
   <summary>
     Measures the time elapsed between the user focusing their user pod and
     signing in using Smart Lock.
@@ -40338,8 +40374,9 @@
 </histogram>
 
 <histogram name="EasyUnlock.AuthEvent.Unlock" enum="EasyUnlockAuthEvent"
-    expires_after="2020-05-31">
+    expires_after="2020-12-15">
   <owner>hansberry@chromium.org</owner>
+  <owner>better-together-dev@google.com</owner>
   <summary>
     Measures the use of Smart Lock on the lock screen: records whether a Smart
     Lock unlock attempt succeeded or failed; or if a password fallback was used,
@@ -40349,8 +40386,9 @@
 </histogram>
 
 <histogram name="EasyUnlock.AuthEvent.Unlock.Duration" units="ms"
-    expires_after="2020-03-01">
+    expires_after="2020-12-15">
   <owner>hansberry@chromium.org</owner>
+  <owner>better-together-dev@google.com</owner>
   <summary>
     Measures the time elapsed between the lock screen being shown and the user
     unlocking the device using Smart Lock. The lock screen is typically shown
@@ -40360,8 +40398,9 @@
 </histogram>
 
 <histogram name="EasyUnlock.AuthProximity.RemoteDeviceModelHash"
-    enum="EasyUnlockDeviceModelHash" expires_after="M82">
+    enum="EasyUnlockDeviceModelHash" expires_after="2020-12-15">
   <owner>hansberry@chromium.org</owner>
+  <owner>better-together-dev@google.com</owner>
   <summary>
     The hash of the phone model used to successfully sign in or unlock using
     Smart Lock.
@@ -40373,8 +40412,9 @@
 </histogram>
 
 <histogram name="EasyUnlock.AuthProximity.RollingRssi" units="dBm"
-    expires_after="2020-06-28">
+    expires_after="2020-12-15">
   <owner>hansberry@chromium.org</owner>
+  <owner>better-together-dev@google.com</owner>
   <summary>
     Measures the exponentially weighted rolling average of the received signal
     strength indicator (RSSI) of the phone when the user successfully unlocks or
@@ -40458,7 +40498,11 @@
   </details>
 </histogram>
 
-<histogram name="EasyUnlock.ClickedButton" enum="EasyUnlockButton">
+<histogram name="EasyUnlock.ClickedButton" enum="EasyUnlockButton"
+    expires_after="M80">
+  <obsolete>
+    Deprecated as of 01/2020.
+  </obsolete>
   <owner>hansberry@chromium.org</owner>
   <summary>Button clicked in EasyUnlock app during setup process.</summary>
 </histogram>
@@ -40477,8 +40521,9 @@
 </histogram>
 
 <histogram name="EasyUnlock.RemoteLockScreenState"
-    enum="EasyUnlockRemoteLockScreenState" expires_after="M81">
+    enum="EasyUnlockRemoteLockScreenState" expires_after="2020-12-15">
   <owner>hansberry@chromium.org</owner>
+  <owner>better-together-dev@google.com</owner>
   <summary>
     Whether a lock screen and a trust agent are enabled on the remote device
     (Android phone) for Easy Unlock. Recorded once per status update message
@@ -40489,7 +40534,11 @@
   </summary>
 </histogram>
 
-<histogram name="EasyUnlock.Setup.Devices.Count.Eligible" units="units">
+<histogram name="EasyUnlock.Setup.Devices.Count.Eligible" units="units"
+    expires_after="M80">
+  <obsolete>
+    Deprecated as of 01/2020.
+  </obsolete>
   <owner>hansberry@chromium.org</owner>
   <summary>
     The number of eligible devices that the CryptAuth server returns during the
@@ -40502,7 +40551,11 @@
   </details>
 </histogram>
 
-<histogram name="EasyUnlock.Setup.Devices.Count.Ineligible" units="units">
+<histogram name="EasyUnlock.Setup.Devices.Count.Ineligible" units="units"
+    expires_after="M80">
+  <obsolete>
+    Deprecated as of 01/2020.
+  </obsolete>
   <owner>hansberry@chromium.org</owner>
   <summary>
     The number of ineligible devices that the CryptAuth server returns during
@@ -40516,7 +40569,10 @@
 </histogram>
 
 <histogram name="EasyUnlock.Setup.Devices.HasSecureScreenLock"
-    enum="EasyUnlockHasSecureScreenLock">
+    enum="EasyUnlockHasSecureScreenLock" expires_after="M80">
+  <obsolete>
+    Deprecated as of 01/2020.
+  </obsolete>
   <owner>hansberry@chromium.org</owner>
   <summary>
     Whether the user's phone has a secure screen lock installed. Recorded during
@@ -40525,7 +40581,10 @@
 </histogram>
 
 <histogram name="EasyUnlock.Setup.Devices.HasTrustAgentEnabled"
-    enum="EasyUnlockHasTrustAgentEnabled">
+    enum="EasyUnlockHasTrustAgentEnabled" expires_after="M80">
+  <obsolete>
+    Deprecated as of 01/2020.
+  </obsolete>
   <owner>hansberry@chromium.org</owner>
   <summary>
     Whether the user's phone has a trust agent -- e.g. Smart Lock for Android --
@@ -40542,7 +40601,10 @@
 </histogram>
 
 <histogram name="EasyUnlock.Setup.Devices.IneligibilityReason"
-    enum="EasyUnlockDeviceIneligibilityReason">
+    enum="EasyUnlockDeviceIneligibilityReason" expires_after="M80">
+  <obsolete>
+    Deprecated as of 01/2020.
+  </obsolete>
   <owner>hansberry@chromium.org</owner>
   <summary>
     Records the most actionable reason why none of a user's devices were
@@ -40561,7 +40623,10 @@
 </histogram>
 
 <histogram name="EasyUnlock.Setup.Progress.SansPromo"
-    enum="EasyUnlockSetupProgress">
+    enum="EasyUnlockSetupProgress" expires_after="M80">
+  <obsolete>
+    Deprecated as of 03/2018.
+  </obsolete>
   <owner>hansberry@chromium.org</owner>
   <owner>jhawkins@chromium.org</owner>
   <summary>
@@ -40571,7 +40636,10 @@
 </histogram>
 
 <histogram name="EasyUnlock.Setup.Progress.ViaPromo"
-    enum="EasyUnlockSetupProgress">
+    enum="EasyUnlockSetupProgress" expires_after="M80">
+  <obsolete>
+    Deprecated as of 03/2018.
+  </obsolete>
   <owner>hansberry@chromium.org</owner>
   <owner>jhawkins@chromium.org</owner>
   <summary>
@@ -40581,7 +40649,10 @@
 </histogram>
 
 <histogram name="EasyUnlock.Setup.PromoNotificationEvent"
-    enum="EasyUnlockPromoNotificationEvent">
+    enum="EasyUnlockPromoNotificationEvent" expires_after="M80">
+  <obsolete>
+    Deprecated as of 01/2020.
+  </obsolete>
   <owner>hansberry@chromium.org</owner>
   <summary>
     Measures user interactions with the Smart Lock promo notification.
@@ -40622,8 +40693,9 @@
 </histogram>
 
 <histogram name="EasyUnlock.StartupTimeFromSuspend" units="ms"
-    expires_after="M82">
+    expires_after="2020-12-15">
   <owner>hansberry@chromium.com</owner>
+  <owner>better-together-dev@google.com</owner>
   <summary>
     The time it takes after resuming from a suspended state (ie. opening the
     Chromebook lid) to when a remote device is connected and a request is made.
@@ -40634,7 +40706,11 @@
   </summary>
 </histogram>
 
-<histogram name="EasyUnlock.TrialRun.Events" enum="EasyUnlockTrialRunEvents">
+<histogram name="EasyUnlock.TrialRun.Events" enum="EasyUnlockTrialRunEvents"
+    expires_after="M80">
+  <obsolete>
+    Deprecated as of 01/2020.
+  </obsolete>
   <owner>hansberry@chromium.org</owner>
   <summary>
     Records when the Easy Unlock trial run is launched, and when the user
@@ -42032,8 +42108,10 @@
 </histogram>
 
 <histogram name="Enterprise.UserPolicyChromeOS.ReregistrationResult"
-    enum="EnterpriseUserPolicyChromeOSReregistrationResult" expires_after="M81">
+    enum="EnterpriseUserPolicyChromeOSReregistrationResult"
+    expires_after="2022-01-31">
   <owner>hendrich@chromium.org</owner>
+  <owner>managed-devices@google.com</owner>
   <summary>Re-registration results after failed policy fetch.</summary>
 </histogram>
 
@@ -61420,8 +61498,9 @@
 
 <histogram name="InstantTethering.BluetoothAdvertisementRegistrationResult"
     enum="InstantTethering_BluetoothAdvertisementResult"
-    expires_after="2020-02-19">
+    expires_after="2020-12-15">
   <owner>hansberry@chromium.org</owner>
+  <owner>better-together-dev@google.com</owner>
   <summary>
     Provides a breakdown of how many times each possible Bluetooth advertisement
     registration result occurs.
@@ -61434,8 +61513,9 @@
 
 <histogram name="InstantTethering.BluetoothAdvertisementUnregistrationResult"
     enum="InstantTethering_BluetoothAdvertisementResult"
-    expires_after="2020-02-19">
+    expires_after="2020-12-15">
   <owner>hansberry@chromium.org</owner>
+  <owner>better-together-dev@google.com</owner>
   <summary>
     Provides a breakdown of how many times each possible Bluetooth advertisement
     unregistration result occurs.
@@ -61447,16 +61527,18 @@
 </histogram>
 
 <histogram name="InstantTethering.BluetoothDiscoverySessionStarted"
-    enum="BooleanSuccess" expires_after="2020-02-19">
+    enum="BooleanSuccess" expires_after="2020-12-15">
   <owner>hansberry@chromium.org</owner>
+  <owner>better-together-dev@google.com</owner>
   <summary>
     Provides the success rate of starting a Bluetooth discovery session.
   </summary>
 </histogram>
 
 <histogram name="InstantTethering.BluetoothDiscoverySessionStopped"
-    enum="BooleanSuccess" expires_after="2020-02-19">
+    enum="BooleanSuccess" expires_after="2020-12-15">
   <owner>hansberry@chromium.org</owner>
+  <owner>better-together-dev@google.com</owner>
   <summary>
     Provides the success rate of stopping a Bluetooth discovery session.
   </summary>
@@ -61464,8 +61546,9 @@
 
 <histogram name="InstantTethering.ConnectionToHostResult.Failure"
     enum="InstantTethering_ConnectionToHostResult_Failure"
-    expires_after="2020-02-19">
+    expires_after="2020-12-15">
   <owner>hansberry@chromium.org</owner>
+  <owner>better-together-dev@google.com</owner>
   <summary>
     Provides a top-level breakdown of the times a connection to a host has
     failed.
@@ -61482,8 +61565,9 @@
 <histogram
     name="InstantTethering.ConnectionToHostResult.Failure.ClientConnection"
     enum="InstantTethering_ConnectionToHostResult_Failure_ClientConnection"
-    expires_after="2020-02-19">
+    expires_after="2020-12-15">
   <owner>hansberry@chromium.org</owner>
+  <owner>better-together-dev@google.com</owner>
   <summary>
     Breaks down the reasons why the client failed to connect to the hotspot, and
     the number of times they occurred.
@@ -61501,8 +61585,9 @@
 <histogram
     name="InstantTethering.ConnectionToHostResult.Failure.TetheringTimeout"
     enum="InstantTethering_ConnectionToHostResult_Failure_TetheringTimeout"
-    expires_after="2020-02-19">
+    expires_after="2020-12-15">
   <owner>hansberry@chromium.org</owner>
+  <owner>better-together-dev@google.com</owner>
   <summary>
     Captures the number of times of whether or not first-time setup was required
     when tethering timed out.
@@ -61532,8 +61617,9 @@
 <histogram
     name="InstantTethering.ConnectionToHostResult.ProvisioningFailureRate"
     enum="InstantTethering_ConnectionToHostResult_ProvisioningFailureRate"
-    expires_after="2020-02-19">
+    expires_after="2020-12-15">
   <owner>hansberry@chromium.org</owner>
+  <owner>better-together-dev@google.com</owner>
   <summary>
     Provides a breakdown of the times a connection to a host was either
     unsuccessful due to provisioning failure (the carrier disallows tethering)
@@ -61571,8 +61657,9 @@
 <histogram
     name="InstantTethering.ConnectionToHostResult.SuccessRate.Background"
     enum="InstantTethering_ConnectionToHostResult_SuccessRate"
-    expires_after="2020-02-19">
+    expires_after="2020-12-15">
   <owner>hansberry@chromium.org</owner>
+  <owner>better-together-dev@google.com</owner>
   <summary>
     Captures the count of successful and failed connection attempts.
 
@@ -61587,8 +61674,9 @@
 </histogram>
 
 <histogram name="InstantTethering.FeatureState"
-    enum="InstantTethering_FeatureState" expires_after="2020-02-19">
+    enum="InstantTethering_FeatureState" expires_after="2020-12-15">
   <owner>hansberry@chromium.org</owner>
+  <owner>better-together-dev@google.com</owner>
   <summary>
     Breaks down the state of Instant Tethering during user sessions. All states,
     except for 'Enabled', indicate that the feature was not active. This
@@ -61678,8 +61766,9 @@
 </histogram>
 
 <histogram name="InstantTethering.HostScanBatchDuration" units="ms"
-    expires_after="2020-02-19">
+    expires_after="2020-12-15">
   <owner>hansberry@chromium.org</owner>
+  <owner>better-together-dev@google.com</owner>
   <summary>
     The duration of a batch of host scans. A batch is defined as a series of one
     or host scans separated by no more than one minute.
@@ -61693,8 +61782,9 @@
 </histogram>
 
 <histogram name="InstantTethering.HostScanResult"
-    enum="InstantTethering_HostScanResult" expires_after="2020-02-19">
+    enum="InstantTethering_HostScanResult" expires_after="2020-12-15">
   <owner>hansberry@chromium.org</owner>
+  <owner>better-together-dev@google.com</owner>
   <summary>
     Provides a breakdown of the results of each host scan. This metric is
     recorded after each host scan.
@@ -61710,8 +61800,9 @@
 </histogram>
 
 <histogram name="InstantTethering.HotspotUsageDuration" units="ms"
-    expires_after="2020-02-19">
+    expires_after="2020-12-15">
   <owner>hansberry@chromium.org</owner>
+  <owner>better-together-dev@google.com</owner>
   <summary>
     The duration of time between the start and end of a Tether connection.
     Timing starts when the device connects to the Wi-Fi hotspot and ends when
@@ -61730,8 +61821,9 @@
 </histogram>
 
 <histogram name="InstantTethering.MultiDeviceFeatureState"
-    enum="MultiDevice_FeatureState" expires_after="2020-02-19">
+    enum="MultiDevice_FeatureState" expires_after="2020-12-15">
   <owner>hansberry@chromium.org</owner>
+  <owner>better-together-dev@google.com</owner>
   <summary>
     Indicates the feature state of the Instant Tethering feature. This metric is
     emitted to at the creation of the user session (when the user logs in), and
@@ -61741,8 +61833,9 @@
 
 <histogram name="InstantTethering.NotificationInteractionType"
     enum="InstantTethering_NotificationInteractionType"
-    expires_after="2020-02-19">
+    expires_after="2020-12-15">
   <owner>hansberry@chromium.org</owner>
+  <owner>better-together-dev@google.com</owner>
   <summary>
     Counts the number of interactions a user has with each of the Instant
     Tethering notifications.
@@ -61801,8 +61894,9 @@
 </histogram>
 
 <histogram name="InstantTethering.Performance.ConnectTetheringResponseDuration"
-    units="ms" expires_after="2020-02-19">
+    units="ms" expires_after="2020-12-15">
   <owner>hansberry@chromium.org</owner>
+  <owner>better-together-dev@google.com</owner>
   <summary>
     The duration of time between when a client authenticates with a host, and
     receives a ConnectTetheringResponse.
@@ -61823,8 +61917,9 @@
 </histogram>
 
 <histogram name="InstantTethering.Performance.ConnectToHostDuration.Background"
-    units="ms" expires_after="2020-02-19">
+    units="ms" expires_after="2020-12-15">
   <owner>hansberry@chromium.org</owner>
+  <owner>better-together-dev@google.com</owner>
   <summary>
     The duration of time it takes for the client to connect to the host, from
     the moment the user taps 'Connect', until the client connects to the host's
@@ -61833,8 +61928,9 @@
 </histogram>
 
 <histogram name="InstantTethering.Performance.ConnectToHotspotDuration"
-    units="ms" expires_after="2020-02-19">
+    units="ms" expires_after="2020-12-15">
   <owner>hansberry@chromium.org</owner>
+  <owner>better-together-dev@google.com</owner>
   <summary>
     The duration of time it takes for the client to connect to the provided
     hotspot after receiving a ConnectTetheringResponse. This does not include
@@ -61844,8 +61940,9 @@
 
 <histogram
     name="InstantTethering.Performance.DisconnectTetheringRequestDuration"
-    units="ms" expires_after="2020-02-19">
+    units="ms" expires_after="2020-12-15">
   <owner>hansberry@chromium.org</owner>
+  <owner>better-together-dev@google.com</owner>
   <summary>
     The duration of time it takes for the client to send off a
     DisconnectTetheringRequest.
@@ -61853,8 +61950,9 @@
 </histogram>
 
 <histogram name="InstantTethering.Performance.KeepAliveTickleResponseDuration"
-    units="ms" expires_after="2020-02-19">
+    units="ms" expires_after="2020-12-15">
   <owner>hansberry@chromium.org</owner>
+  <owner>better-together-dev@google.com</owner>
   <summary>
     The duration of time between when a client authenticates with a host, and
     receives a KeepAliveTickleResponse.
@@ -61939,8 +62037,9 @@
 
 <histogram
     name="InstantTethering.Performance.TetherAvailabilityResponseDuration"
-    units="ms" expires_after="2020-02-19">
+    units="ms" expires_after="2020-12-15">
   <owner>hansberry@chromium.org</owner>
+  <owner>better-together-dev@google.com</owner>
   <summary>
     The duration of time between when a client authenticates with a host, and
     receives a TetherAvailabilityResponse.
@@ -61948,8 +62047,9 @@
 </histogram>
 
 <histogram name="InstantTethering.SessionCompletionReason"
-    enum="InstantTethering_SessionCompletionReason" expires_after="2020-02-19">
+    enum="InstantTethering_SessionCompletionReason" expires_after="2020-12-15">
   <owner>hansberry@chromium.org</owner>
+  <owner>better-together-dev@google.com</owner>
   <summary>
     Provides a breakdown of how each Tether session ended. A session begins when
     a device is first connected to a host's hotspot, and ends when the device is
@@ -61959,8 +62059,9 @@
 </histogram>
 
 <histogram name="InstantTethering.UserPreference.OnStartup"
-    enum="BooleanEnabled" expires_after="2020-02-19">
+    enum="BooleanEnabled" expires_after="2020-12-15">
   <owner>hansberry@chromium.org</owner>
+  <owner>better-together-dev@google.com</owner>
   <summary>
     Provides the count of the number of users who have the Instant Tethering
     toggle enabled vs. disabled on startup. This metric is logged each time a
@@ -61969,8 +62070,9 @@
 </histogram>
 
 <histogram name="InstantTethering.UserPreference.OnToggle"
-    enum="BooleanEnabled" expires_after="2020-02-19">
+    enum="BooleanEnabled" expires_after="2020-12-15">
   <owner>hansberry@chromium.org</owner>
+  <owner>better-together-dev@google.com</owner>
   <summary>
     Provides the count of the number of times users have enabled or disabled the
     user preference for Mobile data. This metric is logged each time the value
@@ -102455,7 +102557,10 @@
 </histogram>
 
 <histogram name="OptimizationGuide.HintCache.FetchedHint.TimeToExpiration"
-    units="seconds" expires_after="M85">
+    units="seconds" expires_after="M81">
+  <obsolete>
+    Deprecated as of 01/2020.
+  </obsolete>
   <owner>mcrouse@chromium.org</owner>
   <owner>dougarnett@chromium.org</owner>
   <summary>
@@ -102543,7 +102648,10 @@
 
 <histogram
     name="OptimizationGuide.HintCacheStore.OnLoadHint.FetchedHintExpired"
-    enum="BooleanExpired" expires_after="M85">
+    enum="BooleanExpired" expires_after="M81">
+  <obsolete>
+    Deprecated as of 01/2020.
+  </obsolete>
   <owner>mcrouse@chromium.org</owner>
   <owner>dougarnett@chromium.org</owner>
   <summary>
@@ -131294,6 +131402,9 @@
 
 <histogram name="SB2.RemoteCall.LocalAllowlistLookupTime" units="ms"
     expires_after="M81">
+  <obsolete>
+    Removed M81. The latency looks good, not needed anymore.
+  </obsolete>
   <owner>xinghuilu@chromium.org</owner>
   <owner>chrome-safebrowsing-alerts@google.com</owner>
   <summary>
@@ -134377,8 +134488,11 @@
 </histogram>
 
 <histogram name="ScreenLocker.AuthenticationFailure" enum="UnlockType"
-    expires_after="2020-04-19">
-  <owner>sammiequon@chromium.org</owner>
+    expires_after="2021-01-06">
+  <owner>antrim@chromium.org</owner>
+  <owner>jessejames@chromium.org</owner>
+  <owner>rsorokin@chromium.org</owner>
+  <owner>ultrotter@chromium.org</owner>
   <summary>
     What type of authentication was attempted when the user failed to unlock the
     lock screen.
@@ -134386,14 +134500,20 @@
 </histogram>
 
 <histogram name="ScreenLocker.AuthenticationFailureTime" units="ms"
-    expires_after="M77">
-  <owner>sammiequon@chromium.org</owner>
+    expires_after="2021-01-06">
+  <owner>antrim@chromium.org</owner>
+  <owner>jessejames@chromium.org</owner>
+  <owner>rsorokin@chromium.org</owner>
+  <owner>ultrotter@chromium.org</owner>
   <summary>The time spent for authentication in case of a failure.</summary>
 </histogram>
 
 <histogram name="ScreenLocker.AuthenticationSuccess" enum="UnlockType"
-    expires_after="2020-02-16">
-  <owner>sammiequon@chromium.org</owner>
+    expires_after="2021-01-06">
+  <owner>antrim@chromium.org</owner>
+  <owner>jessejames@chromium.org</owner>
+  <owner>rsorokin@chromium.org</owner>
+  <owner>ultrotter@chromium.org</owner>
   <summary>
     What type of authentication was attempted when the user successfully
     unlocked the lock screen.
@@ -134401,13 +134521,20 @@
 </histogram>
 
 <histogram name="ScreenLocker.AuthenticationSuccessTime" units="ms"
-    expires_after="M77">
-  <owner>sammiequon@chromium.org</owner>
+    expires_after="2021-01-06">
+  <owner>antrim@chromium.org</owner>
+  <owner>jessejames@chromium.org</owner>
+  <owner>rsorokin@chromium.org</owner>
+  <owner>ultrotter@chromium.org</owner>
   <summary>The time spent for authentication in case of a success.</summary>
 </histogram>
 
-<histogram name="ScreenLocker.ScreenLockTime" units="ms" expires_after="M81">
-  <owner>sammiequon@chromium.org</owner>
+<histogram name="ScreenLocker.ScreenLockTime" units="ms"
+    expires_after="2021-01-06">
+  <owner>antrim@chromium.org</owner>
+  <owner>jessejames@chromium.org</owner>
+  <owner>rsorokin@chromium.org</owner>
+  <owner>ultrotter@chromium.org</owner>
   <summary>The time spent before the screen locker is ready.</summary>
 </histogram>
 
@@ -137975,8 +138102,9 @@
 </histogram>
 
 <histogram name="ServiceWorker.InstallEvent.Time" units="ms"
-    expires_after="M81">
+    expires_after="2021-02-01">
   <owner>shimazu@chromium.org</owner>
+  <owner>chrome-worker@google.com</owner>
   <summary>
     The time taken between dispatching an InstallEvent to a Service Worker and
     receiving a message that it finished handling the event. Includes the time
@@ -137997,8 +138125,9 @@
 </histogram>
 
 <histogram name="ServiceWorker.InstallEventStatus"
-    enum="ServiceWorkerStatusCode" expires_after="2020-02-16">
+    enum="ServiceWorkerStatusCode" expires_after="2021-02-16">
   <owner>falken@chromium.org</owner>
+  <owner>chrome-worker@google.com</owner>
   <summary>The result of dispatching the install event to the worker.</summary>
 </histogram>
 
@@ -138268,8 +138397,9 @@
 </histogram>
 
 <histogram name="ServiceWorker.MainFramePageLoad" enum="ServiceWorkerSite"
-    expires_after="M81">
-  <owner>horo@chromium.org</owner>
+    expires_after="2021-02-16">
+  <owner>falken@chromium.org</owner>
+  <owner>chrome-worker@google.com</owner>
   <summary>
     Counts main frame page loads controlled by a service worker.
   </summary>
@@ -138596,8 +138726,9 @@
 </histogram>
 
 <histogram name="ServiceWorker.PageLoad" enum="ServiceWorkerSite"
-    expires_after="2020-02-16">
+    expires_after="2021-02-16">
   <owner>falken@chromium.org</owner>
+  <owner>chrome-worker@google.com</owner>
   <summary>Counts page loads controlled by a service worker.</summary>
 </histogram>
 
@@ -138754,8 +138885,9 @@
 </histogram>
 
 <histogram name="ServiceWorker.StartForNavigationHint.Result"
-    enum="ServiceWorkerStartForNavigationHintResult" expires_after="M81">
-  <owner>horo@chromium.org</owner>
+    enum="ServiceWorkerStartForNavigationHintResult" expires_after="2021-02-16">
+  <owner>falken@chromium.org</owner>
+  <owner>chrome-worker@google.com</owner>
   <summary>
     The result of starting a service worker for a navigation hint.
   </summary>
@@ -146151,15 +146283,16 @@
 </histogram>
 
 <histogram name="SmartLock.AuthMethodChoice.SignIn"
-    enum="SmartLockAuthMethodChoice" expires_after="2020-04-19">
+    enum="SmartLockAuthMethodChoice" expires_after="2020-12-15">
   <owner>hansberry@chromium.org</owner>
+  <owner>better-together-dev@google.com</owner>
   <summary>Records the user's sign in method choice.</summary>
 </histogram>
 
 <histogram name="SmartLock.AuthMethodChoice.SignIn.PasswordState"
-    enum="SmartLockAuthEventPasswordState" expires_after="M81">
+    enum="SmartLockAuthEventPasswordState" expires_after="2020-12-15">
   <owner>hansberry@chromium.org</owner>
-  <owner>hsuregan@chromium.org</owner>
+  <owner>better-together-dev@google.com</owner>
   <summary>
     The state Smart Lock was in when the user chose to use their password to
     sign into their device.
@@ -146167,15 +146300,16 @@
 </histogram>
 
 <histogram name="SmartLock.AuthMethodChoice.Unlock"
-    enum="SmartLockAuthMethodChoice" expires_after="2020-04-19">
+    enum="SmartLockAuthMethodChoice" expires_after="2020-12-15">
   <owner>hansberry@chromium.org</owner>
+  <owner>better-together-dev@google.com</owner>
   <summary>Records the user's unlock method choice.</summary>
 </histogram>
 
 <histogram name="SmartLock.AuthMethodChoice.Unlock.PasswordState"
-    enum="SmartLockAuthEventPasswordState" expires_after="M81">
+    enum="SmartLockAuthEventPasswordState" expires_after="2020-12-15">
   <owner>hansberry@chromium.org</owner>
-  <owner>hsuregan@chromium.org</owner>
+  <owner>better-together-dev@google.com</owner>
   <summary>
     An enumerated histogram that breaks down what state Smart Lock was in when
     the user chose to use their password to unlock their device.
@@ -146183,9 +146317,9 @@
 </histogram>
 
 <histogram name="SmartLock.AuthResult.SignIn" enum="BooleanSuccess"
-    expires_after="2020-04-19">
+    expires_after="2020-12-15">
   <owner>hansberry@chromium.org</owner>
-  <owner>hsuregan@chromium.org</owner>
+  <owner>better-together-dev@google.com</owner>
   <summary>
     Count of successful and failed attempts to sign in the Chromebook, after the
     user selects their profile photo.
@@ -146193,9 +146327,9 @@
 </histogram>
 
 <histogram name="SmartLock.AuthResult.SignIn.Failure"
-    enum="SmartLockAuthResultFailureReason" expires_after="2020-04-19">
+    enum="SmartLockAuthResultFailureReason" expires_after="2020-12-15">
   <owner>hansberry@chromium.org</owner>
-  <owner>hsuregan@chromium.org</owner>
+  <owner>better-together-dev@google.com</owner>
   <summary>
     Shows why a sign in attempt failed during the authentication phase. Breaks
     down the failure bucket of SmartLock.AuthResult.SignIn.
@@ -146203,8 +146337,9 @@
 </histogram>
 
 <histogram name="SmartLock.AuthResult.SignIn.Failure.UserControllerAuth"
-    enum="LoginFailureReason">
+    enum="LoginFailureReason" expires_after="2020-12-15">
   <owner>hansberry@chromium.org</owner>
+  <owner>better-together-dev@google.com</owner>
   <summary>
     An enumerated histogram that breaks down why the UserController could not
     decrypt the account.
@@ -146212,8 +146347,9 @@
 </histogram>
 
 <histogram name="SmartLock.AuthResult.Unlock" enum="BooleanSuccess"
-    expires_after="2020-04-19">
+    expires_after="2020-12-15">
   <owner>hansberry@chromium.org</owner>
+  <owner>better-together-dev@google.com</owner>
   <summary>
     Count of successful and failed attempts to unlock the Chromebook, after the
     user selects their profile photo.
@@ -146221,16 +146357,19 @@
 </histogram>
 
 <histogram name="SmartLock.AuthResult.Unlock.Failure"
-    enum="SmartLockAuthResultFailureReason" expires_after="2020-04-19">
+    enum="SmartLockAuthResultFailureReason" expires_after="2020-12-15">
   <owner>hansberry@chromium.org</owner>
+  <owner>better-together-dev@google.com</owner>
   <summary>
     Shows why an unlock attempt failed during the authentication phase. Breaks
     down the failure bucket of SmartLock.AuthResult.Unlock.
   </summary>
 </histogram>
 
-<histogram name="SmartLock.EligibleDevicesCount" units="devices">
-  <owner>jhawkins@chromium.org</owner>
+<histogram name="SmartLock.EligibleDevicesCount" units="devices"
+    expires_after="2020-12-15">
+  <owner>hansberry@chromium.org</owner>
+  <owner>better-together-dev@google.com</owner>
   <summary>
     A count of the number of eligible SmartLock devices which can be used to
     unlock the user's Chromebook. Logged each time the list of eligible devices
@@ -146240,8 +146379,9 @@
 </histogram>
 
 <histogram name="SmartLock.EnabledDevicesCount" units="devices"
-    expires_after="2020-04-19">
-  <owner>jhawkins@chromium.org</owner>
+    expires_after="2020-12-15">
+  <owner>hansberry@chromium.org</owner>
+  <owner>better-together-dev@google.com</owner>
   <summary>
     A count of the number of SmartLock devices which the user has enabled to
     unlock the user's Chromebook, i.e., the device connected to in the SmartLock
@@ -146250,8 +146390,9 @@
 </histogram>
 
 <histogram name="SmartLock.EnabledState" enum="SmartLockEnabledState"
-    expires_after="2020-04-19">
-  <owner>jhawkins@chromium.org</owner>
+    expires_after="2020-12-15">
+  <owner>hansberry@chromium.org</owner>
+  <owner>better-together-dev@google.com</owner>
   <summary>
     The state of the SmartLock feature for the current user, set at login. The
     value is 'enabled' if the user has successfully enabled SmartLock via setup,
@@ -146262,9 +146403,9 @@
 </histogram>
 
 <histogram name="SmartLock.FindAndConnectToHostResult.SignIn"
-    enum="SmartLockFindAndConnectToHostResult" expires_after="2020-08-07">
+    enum="SmartLockFindAndConnectToHostResult" expires_after="2020-12-15">
   <owner>hansberry@chromium.org</owner>
-  <owner>jhawkins@chromium.org</owner>
+  <owner>better-together-dev@google.com</owner>
   <summary>
     The resolution of Smart Lock trying to find the host device during the
     initial scan window at the signin screen.
@@ -146272,9 +146413,9 @@
 </histogram>
 
 <histogram name="SmartLock.FindAndConnectToHostResult.Unlock"
-    enum="SmartLockFindAndConnectToHostResult" expires_after="2020-08-07">
+    enum="SmartLockFindAndConnectToHostResult" expires_after="2020-12-15">
   <owner>hansberry@chromium.org</owner>
-  <owner>jhawkins@chromium.org</owner>
+  <owner>better-together-dev@google.com</owner>
   <summary>
     The resolution of Smart Lock trying to find the host device during the
     initial scan window at the lock screen.
@@ -146282,9 +146423,9 @@
 </histogram>
 
 <histogram name="SmartLock.GetRemoteStatus.SignIn" enum="BooleanSuccess"
-    expires_after="2020-08-07">
+    expires_after="2020-12-15">
   <owner>hansberry@chromium.org</owner>
-  <owner>jhawkins@chromium.org</owner>
+  <owner>better-together-dev@google.com</owner>
   <summary>
     Count of successful and failed attempts to get the 'remote status' of the
     host device, i.e., determine if the Chromebook can be signed into.
@@ -146293,9 +146434,9 @@
 
 <histogram name="SmartLock.GetRemoteStatus.SignIn.Failure"
     enum="SmartLockGetRemoteStatusResultFailureReason"
-    expires_after="2020-08-07">
+    expires_after="2020-12-15">
   <owner>hansberry@chromium.org</owner>
-  <owner>jhawkins@chromium.org</owner>
+  <owner>better-together-dev@google.com</owner>
   <summary>
     Shows why a sign in attempt failed during the connection phase. Breaks down
     the failure bucket of SmartLock.ConnectionResult.
@@ -146303,9 +146444,9 @@
 </histogram>
 
 <histogram name="SmartLock.GetRemoteStatus.Unlock" enum="BooleanSuccess"
-    expires_after="2020-08-07">
+    expires_after="2020-12-15">
   <owner>hansberry@chromium.org</owner>
-  <owner>jhawkins@chromium.org</owner>
+  <owner>better-together-dev@google.com</owner>
   <summary>
     Count of successful and failed attempts to get the 'remote status' of the
     host device, i.e., determine if the Chromebook can be unlocked.
@@ -146314,9 +146455,9 @@
 
 <histogram name="SmartLock.GetRemoteStatus.Unlock.Failure"
     enum="SmartLockGetRemoteStatusResultFailureReason"
-    expires_after="2020-08-07">
+    expires_after="2020-12-15">
   <owner>hansberry@chromium.org</owner>
-  <owner>jhawkins@chromium.org</owner>
+  <owner>better-together-dev@google.com</owner>
   <summary>
     Shows why an unlock attempt failed during the connection phase. Breaks down
     the failure bucket of SmartLock.ConnectionResult.
@@ -146324,8 +146465,9 @@
 </histogram>
 
 <histogram name="SmartLock.MultiDeviceFeatureState"
-    enum="MultiDevice_FeatureState" expires_after="2020-04-19">
+    enum="MultiDevice_FeatureState" expires_after="2020-12-15">
   <owner>hansberry@chromium.org</owner>
+  <owner>better-together-dev@google.com</owner>
   <summary>
     Indicates the feature state of the SmartLock feature. This metric is emitted
     to at the creation of the user session (when the user logs in), and when
@@ -146335,11 +146477,11 @@
 
 <histogram
     name="SmartLock.Performance.AuthenticationToReceiveFirstRemoteStatusDuration.Unlock"
-    units="ms" expires_after="2020-07-23">
+    units="ms" expires_after="2020-12-15">
 <!-- Name completed by histogram_suffixes name="SmartLockStatusTypes" -->
 
   <owner>hansberry@chromium.org</owner>
-  <owner>jhawkins@chromium.org</owner>
+  <owner>better-together-dev@google.com</owner>
   <summary>
     The duration of time between when Smart Lock successfully establishes a
     secure channel connection to the host device, and receives the initial
@@ -146373,11 +146515,11 @@
 
 <histogram
     name="SmartLock.Performance.ShowLockScreenToShowFirstStatusToUserDuration.Unlock"
-    units="ms" expires_after="2020-07-23">
+    units="ms" expires_after="2020-12-15">
 <!-- Name completed by histogram_suffixes name="SmartLockStatusTypes" -->
 
   <owner>hansberry@chromium.org</owner>
-  <owner>jhawkins@chromium.org</owner>
+  <owner>better-together-dev@google.com</owner>
   <summary>
     The duration of time between when the user locks their screen or wakes their
     device (either opening a clamshell device or waking up a tablet), and when
@@ -146397,11 +146539,11 @@
 
 <histogram
     name="SmartLock.Performance.StartScanToReceiveFirstRemoteStatusDuration.Unlock"
-    units="ms" expires_after="2020-07-23">
+    units="ms" expires_after="2020-12-15">
 <!-- Name completed by histogram_suffixes name="SmartLockStatusTypes" -->
 
   <owner>hansberry@chromium.org</owner>
-  <owner>jhawkins@chromium.org</owner>
+  <owner>better-together-dev@google.com</owner>
   <summary>
     The duration of time between when Smart Lock begins to try to find the host
     device, and receives the initial remote status from it -- this informs if
@@ -146447,16 +146589,20 @@
   </summary>
 </histogram>
 
-<histogram name="SmartLock.ToggleFeature" enum="BooleanEnabled">
+<histogram name="SmartLock.ToggleFeature" enum="BooleanEnabled"
+    expires_after="2020-12-15">
   <owner>jhawkins@chromium.org</owner>
+  <owner>better-together-dev@google.com</owner>
   <summary>
     The number of times the user actively enabled or disabled the SmartLock
     feature via Settings.
   </summary>
 </histogram>
 
-<histogram name="SmartLock.ToggleFeature.Disable.Result" enum="BooleanSuccess">
+<histogram name="SmartLock.ToggleFeature.Disable.Result" enum="BooleanSuccess"
+    expires_after="2020-12-15">
   <owner>jhawkins@chromium.org</owner>
+  <owner>better-together-dev@google.com</owner>
   <summary>The result of the operation to disable SmartLock.</summary>
 </histogram>
 
diff --git a/tools/metrics/ukm/ukm.xml b/tools/metrics/ukm/ukm.xml
index d66d6ff2..9d866709 100644
--- a/tools/metrics/ukm/ukm.xml
+++ b/tools/metrics/ukm/ukm.xml
@@ -7670,6 +7670,9 @@
     </summary>
   </metric>
   <metric name="navigation_restart_penalty">
+    <obsolete>
+      Feature removed in M79.
+    </obsolete>
     <summary>
       Set to the number of milliseconds spent restarting navigations when a Lite
       Page Redirect preview is attempted, whether or not it is committed, during
diff --git a/tools/perf/page_sets/press_story.py b/tools/perf/page_sets/press_story.py
index bdf5a23a..f9d0353 100644
--- a/tools/perf/page_sets/press_story.py
+++ b/tools/perf/page_sets/press_story.py
@@ -81,6 +81,10 @@
   def GetMeasurements(self):
     return self._measurements
 
+  def Run(self, shared_state):
+    self._measurements = []
+    super(PressStory, self).Run(shared_state)
+
   def ExecuteTest(self, action_runner):
     pass
 
diff --git a/ui/base/x/x11_window.cc b/ui/base/x/x11_window.cc
index 60ef4f21..bd083059 100644
--- a/ui/base/x/x11_window.cc
+++ b/ui/base/x/x11_window.cc
@@ -554,17 +554,7 @@
   // a window is topmost iff it has focus, just use the focus state to determine
   // if a window is active.  Note that Activate() and Deactivate() change the
   // stacking order in addition to changing the focus state.
-  bool is_active =
-      (has_window_focus_ || has_pointer_focus_) && !ignore_keyboard_input_;
-
-  // is_active => window_mapped_in_server_
-  // !window_mapped_in_server_ => !is_active
-  DCHECK(!is_active || window_mapped_in_server_);
-
-  // |has_window_focus_| and |has_pointer_focus_| are mutually exclusive.
-  DCHECK(!has_window_focus_ || !has_pointer_focus_);
-
-  return is_active;
+  return (has_window_focus_ || has_pointer_focus_) && !ignore_keyboard_input_;
 }
 void XWindow::SetSize(const gfx::Size& size_in_pixels) {
   XResizeWindow(xdisplay_, xwindow_, size_in_pixels.width(),
diff --git a/ui/display/fake/fake_display_snapshot.cc b/ui/display/fake/fake_display_snapshot.cc
index 51869fb..16d62cd 100644
--- a/ui/display/fake/fake_display_snapshot.cc
+++ b/ui/display/fake/fake_display_snapshot.cc
@@ -161,7 +161,7 @@
 
   return std::make_unique<FakeDisplaySnapshot>(
       id_, origin_, physical_size, type_, is_aspect_preserving_scaling_,
-      has_overscan_, has_color_correction_matrix_,
+      has_overscan_, has_privacy_screen_, has_color_correction_matrix_,
       color_correction_in_linear_space_, name_, std::move(modes_),
       current_mode_, native_mode_, product_code_, maximum_cursor_size_);
 }
@@ -291,6 +291,7 @@
                                          DisplayConnectionType type,
                                          bool is_aspect_preserving_scaling,
                                          bool has_overscan,
+                                         bool has_privacy_screen,
                                          bool has_color_correction_matrix,
                                          bool color_correction_in_linear_space,
                                          std::string display_name,
@@ -305,6 +306,7 @@
                       type,
                       is_aspect_preserving_scaling,
                       has_overscan,
+                      has_privacy_screen,
                       has_color_correction_matrix,
                       color_correction_in_linear_space,
                       gfx::ColorSpace(),
diff --git a/ui/display/fake/fake_display_snapshot.h b/ui/display/fake/fake_display_snapshot.h
index 610299c..f409ce11 100644
--- a/ui/display/fake/fake_display_snapshot.h
+++ b/ui/display/fake/fake_display_snapshot.h
@@ -84,6 +84,7 @@
     DisplayConnectionType type_ = DISPLAY_CONNECTION_TYPE_UNKNOWN;
     bool is_aspect_preserving_scaling_ = false;
     bool has_overscan_ = false;
+    bool has_privacy_screen_ = false;
     bool has_color_correction_matrix_ = false;
     bool color_correction_in_linear_space_ = false;
     std::string name_;
@@ -102,6 +103,7 @@
                       DisplayConnectionType type,
                       bool is_aspect_preserving_scaling,
                       bool has_overscan,
+                      bool has_privacy_screen,
                       bool has_color_correction_matrix,
                       bool color_correction_in_linear_space,
                       std::string display_name,
diff --git a/ui/display/manager/display_change_observer_unittest.cc b/ui/display/manager/display_change_observer_unittest.cc
index df42d62..447c6cb 100644
--- a/ui/display/manager/display_change_observer_unittest.cc
+++ b/ui/display/manager/display_change_observer_unittest.cc
@@ -172,7 +172,8 @@
 TEST_P(DisplayChangeObserverTest, GetEmptyExternalManagedDisplayModeList) {
   FakeDisplaySnapshot display_snapshot(
       123, gfx::Point(), gfx::Size(), DISPLAY_CONNECTION_TYPE_UNKNOWN, false,
-      false, false, false, std::string(), {}, nullptr, nullptr, 0, gfx::Size());
+      false, false, false, false, std::string(), {}, nullptr, nullptr, 0,
+      gfx::Size());
 
   ManagedDisplayInfo::ManagedDisplayModeList display_modes =
       DisplayChangeObserver::GetExternalManagedDisplayModeList(
diff --git a/ui/display/mojom/display_mojom_traits_unittest.cc b/ui/display/mojom/display_mojom_traits_unittest.cc
index 110bf60..921fcdc3 100644
--- a/ui/display/mojom/display_mojom_traits_unittest.cc
+++ b/ui/display/mojom/display_mojom_traits_unittest.cc
@@ -82,6 +82,7 @@
   EXPECT_EQ(input.is_aspect_preserving_scaling(),
             output.is_aspect_preserving_scaling());
   EXPECT_EQ(input.has_overscan(), output.has_overscan());
+  EXPECT_EQ(input.has_privacy_screen(), output.has_privacy_screen());
   EXPECT_EQ(input.has_color_correction_matrix(),
             output.has_color_correction_matrix());
   EXPECT_EQ(input.color_correction_in_linear_space(),
@@ -255,6 +256,7 @@
   const DisplayConnectionType type = DISPLAY_CONNECTION_TYPE_DISPLAYPORT;
   const bool is_aspect_preserving_scaling = true;
   const bool has_overscan = true;
+  const bool has_privacy_screen = true;
   const bool has_color_correction_matrix = true;
   const bool color_correction_in_linear_space = true;
   const gfx::ColorSpace display_color_space = gfx::ColorSpace::CreateREC709();
@@ -275,7 +277,7 @@
 
   std::unique_ptr<DisplaySnapshot> input = std::make_unique<DisplaySnapshot>(
       display_id, origin, physical_size, type, is_aspect_preserving_scaling,
-      has_overscan, has_color_correction_matrix,
+      has_overscan, has_privacy_screen, has_color_correction_matrix,
       color_correction_in_linear_space, display_color_space, bits_per_channel,
       display_name, sys_path, std::move(modes), PanelOrientation::kNormal, edid,
       current_mode, native_mode, product_code, year_of_manufacture,
@@ -297,6 +299,7 @@
   const DisplayConnectionType type = DISPLAY_CONNECTION_TYPE_VGA;
   const bool is_aspect_preserving_scaling = true;
   const bool has_overscan = true;
+  const bool has_privacy_screen = true;
   const bool has_color_correction_matrix = true;
   const bool color_correction_in_linear_space = true;
   const gfx::ColorSpace display_color_space = gfx::ColorSpace::CreateREC709();
@@ -317,7 +320,7 @@
 
   std::unique_ptr<DisplaySnapshot> input = std::make_unique<DisplaySnapshot>(
       display_id, origin, physical_size, type, is_aspect_preserving_scaling,
-      has_overscan, has_color_correction_matrix,
+      has_overscan, has_privacy_screen, has_color_correction_matrix,
       color_correction_in_linear_space, display_color_space, bits_per_channel,
       display_name, sys_path, std::move(modes), PanelOrientation::kNormal, edid,
       current_mode, native_mode, product_code, year_of_manufacture,
@@ -339,6 +342,7 @@
   const DisplayConnectionType type = DISPLAY_CONNECTION_TYPE_HDMI;
   const bool is_aspect_preserving_scaling = false;
   const bool has_overscan = false;
+  const bool has_privacy_screen = false;
   const bool has_color_correction_matrix = false;
   const bool color_correction_in_linear_space = false;
   const std::string display_name("HP Z24i");
@@ -363,7 +367,7 @@
 
   std::unique_ptr<DisplaySnapshot> input = std::make_unique<DisplaySnapshot>(
       display_id, origin, physical_size, type, is_aspect_preserving_scaling,
-      has_overscan, has_color_correction_matrix,
+      has_overscan, has_privacy_screen, has_color_correction_matrix,
       color_correction_in_linear_space, display_color_space, bits_per_channel,
       display_name, sys_path, std::move(modes), PanelOrientation::kLeftUp, edid,
       current_mode, native_mode, product_code, year_of_manufacture,
@@ -384,6 +388,7 @@
   const DisplayConnectionType type = DISPLAY_CONNECTION_TYPE_INTERNAL;
   const bool is_aspect_preserving_scaling = true;
   const bool has_overscan = false;
+  const bool has_privacy_screen = false;
   const bool has_color_correction_matrix = false;
   const bool color_correction_in_linear_space = false;
   const gfx::ColorSpace display_color_space =
@@ -405,7 +410,7 @@
 
   std::unique_ptr<DisplaySnapshot> input = std::make_unique<DisplaySnapshot>(
       display_id, origin, physical_size, type, is_aspect_preserving_scaling,
-      has_overscan, has_color_correction_matrix,
+      has_overscan, has_privacy_screen, has_color_correction_matrix,
       color_correction_in_linear_space, display_color_space, bits_per_channel,
       display_name, sys_path, std::move(modes), PanelOrientation::kRightUp,
       edid, current_mode, native_mode, product_code, year_of_manufacture,
diff --git a/ui/display/mojom/display_snapshot.mojom b/ui/display/mojom/display_snapshot.mojom
index af0dcc29..b1978db 100644
--- a/ui/display/mojom/display_snapshot.mojom
+++ b/ui/display/mojom/display_snapshot.mojom
@@ -18,6 +18,7 @@
   display.mojom.DisplayConnectionType type;
   bool is_aspect_preserving_scaling;
   bool has_overscan;
+  bool has_privacy_screen;
   bool has_color_correction_matrix;
   bool color_correction_in_linear_space;
   gfx.mojom.ColorSpace color_space;
diff --git a/ui/display/mojom/display_snapshot_mojom_traits.cc b/ui/display/mojom/display_snapshot_mojom_traits.cc
index 4640dbf..41dfa3dc0 100644
--- a/ui/display/mojom/display_snapshot_mojom_traits.cc
+++ b/ui/display/mojom/display_snapshot_mojom_traits.cc
@@ -136,7 +136,7 @@
   *out = std::make_unique<display::DisplaySnapshot>(
       data.display_id(), origin, physical_size, type,
       data.is_aspect_preserving_scaling(), data.has_overscan(),
-      data.has_color_correction_matrix(),
+      data.has_privacy_screen(), data.has_color_correction_matrix(),
       data.color_correction_in_linear_space(), color_space,
       data.bits_per_channel(), display_name, file_path, std::move(modes),
       panel_orientation, std::move(edid), current_mode, native_mode,
diff --git a/ui/display/mojom/display_snapshot_mojom_traits.h b/ui/display/mojom/display_snapshot_mojom_traits.h
index 82a804e4..9108947 100644
--- a/ui/display/mojom/display_snapshot_mojom_traits.h
+++ b/ui/display/mojom/display_snapshot_mojom_traits.h
@@ -54,6 +54,11 @@
     return snapshot->has_overscan();
   }
 
+  static bool has_privacy_screen(
+      const std::unique_ptr<display::DisplaySnapshot>& snapshot) {
+    return snapshot->has_privacy_screen();
+  }
+
   static bool has_color_correction_matrix(
       const std::unique_ptr<display::DisplaySnapshot>& snapshot) {
     return snapshot->has_color_correction_matrix();
diff --git a/ui/display/types/display_snapshot.cc b/ui/display/types/display_snapshot.cc
index a5ffe639..1bcea85 100644
--- a/ui/display/types/display_snapshot.cc
+++ b/ui/display/types/display_snapshot.cc
@@ -66,6 +66,7 @@
                                  DisplayConnectionType type,
                                  bool is_aspect_preserving_scaling,
                                  bool has_overscan,
+                                 bool has_privacy_screen,
                                  bool has_color_correction_matrix,
                                  bool color_correction_in_linear_space,
                                  const gfx::ColorSpace& color_space,
@@ -86,6 +87,7 @@
       type_(type),
       is_aspect_preserving_scaling_(is_aspect_preserving_scaling),
       has_overscan_(has_overscan),
+      has_privacy_screen_(has_privacy_screen),
       has_color_correction_matrix_(has_color_correction_matrix),
       color_correction_in_linear_space_(color_correction_in_linear_space),
       color_space_(color_space),
@@ -127,7 +129,7 @@
 
   return std::make_unique<DisplaySnapshot>(
       display_id_, origin_, physical_size_, type_,
-      is_aspect_preserving_scaling_, has_overscan_,
+      is_aspect_preserving_scaling_, has_overscan_, has_privacy_screen_,
       has_color_correction_matrix_, color_correction_in_linear_space_,
       color_space_, bits_per_channel_, display_name_, sys_path_,
       std::move(clone_modes), panel_orientation_, edid_, cloned_current_mode,
diff --git a/ui/display/types/display_snapshot.h b/ui/display/types/display_snapshot.h
index b627a5e..93afcc7 100644
--- a/ui/display/types/display_snapshot.h
+++ b/ui/display/types/display_snapshot.h
@@ -35,6 +35,7 @@
                   DisplayConnectionType type,
                   bool is_aspect_preserving_scaling,
                   bool has_overscan,
+                  bool has_privacy_screen,
                   bool has_color_correction_matrix,
                   bool color_correction_in_linear_space,
                   const gfx::ColorSpace& color_space,
@@ -60,6 +61,7 @@
     return is_aspect_preserving_scaling_;
   }
   bool has_overscan() const { return has_overscan_; }
+  bool has_privacy_screen() const { return has_privacy_screen_; }
   bool has_color_correction_matrix() const {
     return has_color_correction_matrix_;
   }
@@ -110,6 +112,8 @@
 
   const bool has_overscan_;
 
+  const bool has_privacy_screen_;
+
   // Whether this display has advanced color correction available.
   const bool has_color_correction_matrix_;
   // Whether the color correction matrix will be applied in linear color space
diff --git a/ui/file_manager/file_manager/background/js/runtime_loaded_test_util.js b/ui/file_manager/file_manager/background/js/runtime_loaded_test_util.js
index 689309c..a0e2c68 100644
--- a/ui/file_manager/file_manager/background/js/runtime_loaded_test_util.js
+++ b/ui/file_manager/file_manager/background/js/runtime_loaded_test_util.js
@@ -287,6 +287,37 @@
 };
 
 /**
+ * Gets the information of the active element. However, unlike the previous
+ * helper, the shadow roots are searched as well.
+ *
+ * @param {Window} contentWindow Window to be tested.
+ * @param {Array<string>=} opt_styleNames List of CSS property name to be
+ *     obtained.
+ * @return {?{attributes:Object<string>, text:string,
+ *                  styles:(Object<string>|undefined), hidden:boolean}} Element
+ *     information that contains contentText, attribute names and
+ *     values, hidden attribute, and style names and values. If there is no
+ *     active element, returns null.
+ */
+test.util.sync.findActiveElement = (contentWindow, opt_styleNames) => {
+  if (!contentWindow.document || !contentWindow.document.activeElement) {
+    return null;
+  }
+
+  let activeElement = contentWindow.document.activeElement;
+  while (true) {
+    const shadow = activeElement.shadowRoot;
+    if (shadow && shadow.activeElement) {
+      activeElement = shadow.activeElement;
+    } else {
+      break;
+    }
+  }
+
+  return extractElementInfo(activeElement, contentWindow, opt_styleNames);
+};
+
+/**
  * Assigns the text to the input element.
  * @param {Window} contentWindow Window to be tested.
  * @param {string|!Array<string>} query Query for the input element.
diff --git a/ui/file_manager/file_manager/foreground/js/file_manager.js b/ui/file_manager/file_manager/foreground/js/file_manager.js
index 28a40f8..01ef4c2 100644
--- a/ui/file_manager/file_manager/foreground/js/file_manager.js
+++ b/ui/file_manager/file_manager/foreground/js/file_manager.js
@@ -580,7 +580,7 @@
         this.ui_.listContainer.table, this.directoryModel_);
 
     this.quickViewModel_ = new QuickViewModel();
-    const fileListSelectionModel = /** @type {!cr.ui.ListSelectionModel} */ (
+    const fileListSelectionModel = /** @type {!FileListSelectionModel} */ (
         this.directoryModel_.getFileListSelection());
     this.quickViewUma_ =
         new QuickViewUma(assert(this.volumeManager_), assert(this.dialogType));
diff --git a/ui/file_manager/file_manager/foreground/js/quick_view_controller.js b/ui/file_manager/file_manager/foreground/js/quick_view_controller.js
index cdfdc5d..17fbe1d 100644
--- a/ui/file_manager/file_manager/foreground/js/quick_view_controller.js
+++ b/ui/file_manager/file_manager/foreground/js/quick_view_controller.js
@@ -15,7 +15,7 @@
    * @param {!cr.ui.MultiMenuButton} selectionMenuButton
    * @param {!QuickViewModel} quickViewModel
    * @param {!TaskController} taskController
-   * @param {!cr.ui.ListSelectionModel} fileListSelectionModel
+   * @param {!FileListSelectionModel} fileListSelectionModel
    * @param {!QuickViewUma} quickViewUma
    * @param {!MetadataBoxController} metadataBoxController
    * @param {DialogType} dialogType
@@ -47,7 +47,7 @@
     /** @private @const {!TaskController} */
     this.taskController_ = taskController;
 
-    /** @private @const {!cr.ui.ListSelectionModel} */
+    /** @private @const {!FileListSelectionModel} */
     this.fileListSelectionModel_ = fileListSelectionModel;
 
     /** @private @const {!MetadataBoxController} */
@@ -65,6 +65,12 @@
      */
     this.entries_ = [];
 
+    /**
+     * The current selection when in check-select mode.
+     * @private {number}
+     */
+    this.currentSelection_ = 0;
+
     this.selectionHandler_.addEventListener(
         FileSelectionHandler.EventType.CHANGE,
         this.onFileSelectionChanged_.bind(this));
@@ -148,9 +154,6 @@
   onKeyDownToOpen_(event) {
     if (event.key === ' ') {
       event.preventDefault();
-      if (this.entries_.length != 1) {
-        return;
-      }
       event.stopImmediatePropagation();
       this.display_(QuickViewUma.WayToOpen.SPACE_KEY);
     }
@@ -175,31 +178,83 @@
           break;
         case 'ArrowRight':
         case 'ArrowDown':
-          index = this.fileListSelectionModel_.selectedIndex + 1;
-          if (index >= this.fileListSelectionModel_.length) {
-            index = 0;
+          if (this.fileListSelectionModel_.getCheckSelectMode()) {
+            this.changeCheckSelectModeSelection_(true);
+          } else {
+            this.changeSingleSelectModeSelection_(true);
           }
-          this.fileListSelectionModel_.selectedIndex = index;
           break;
         case 'ArrowLeft':
         case 'ArrowUp':
-          index = this.fileListSelectionModel_.selectedIndex - 1;
-          if (index < 0) {
-            index = this.fileListSelectionModel_.length - 1;
+          if (this.fileListSelectionModel_.getCheckSelectMode()) {
+            this.changeCheckSelectModeSelection_();
+          } else {
+            this.changeSingleSelectModeSelection_();
           }
-          this.fileListSelectionModel_.selectedIndex = index;
           break;
       }
     }
   }
 
   /**
+   * Changes the currently selected in single-select mode.
+   * @param {boolean} down True if user pressed down arrow, false if up.
+   * @private
+   */
+  changeSingleSelectModeSelection_(down = false) {
+    let index;
+
+    if (down) {
+      index = this.fileListSelectionModel_.selectedIndex + 1;
+      if (index >= this.fileListSelectionModel_.length) {
+        index = 0;
+      }
+    } else {
+      index = this.fileListSelectionModel_.selectedIndex - 1;
+      if (index < 0) {
+        index = this.fileListSelectionModel_.length - 1;
+      }
+    }
+
+    this.fileListSelectionModel_.selectedIndex = index;
+  }
+
+  /**
+   * Changes the currently selected in multi-select mode (aka what the file
+   * list calls "check-select" mode).
+   *
+   * @param {boolean} down True if user pressed down arrow, false if up.
+   * @private
+   */
+  changeCheckSelectModeSelection_(down = false) {
+    if (down) {
+      this.currentSelection_ = this.currentSelection_ + 1;
+      if (this.currentSelection_ >=
+          this.fileListSelectionModel_.selectedIndexes.length) {
+        this.currentSelection_ = 0;
+      }
+    } else {
+      this.currentSelection_ = this.currentSelection_ - 1;
+      if (this.currentSelection_ < 0) {
+        this.currentSelection_ =
+            this.fileListSelectionModel_.selectedIndexes.length - 1;
+      }
+    }
+
+    this.onFileSelectionChanged_(null);
+  }
+
+
+  /**
    * Display quick view.
    *
    * @param {QuickViewUma.WayToOpen} wayToOpen The open quick view trigger.
    * @private
    */
   display_(wayToOpen) {
+    // On opening, always initalise the single-select mode selection.
+    this.currentSelection_ = 0;
+
     this.updateQuickView_().then(() => {
       if (!this.quickView_.isOpened()) {
         this.quickView_.open();
@@ -211,14 +266,18 @@
   /**
    * Update quick view on file selection change.
    *
-   * @param {!Event} event an Event whose target is FileSelectionHandler.
+   * @param {?Event} event an Event whose target is FileSelectionHandler.
    * @private
    */
   onFileSelectionChanged_(event) {
-    this.entries_ = event.target.selection.entries;
+    if (event) {
+      this.entries_ = event.target.selection.entries;
+    }
+
     if (this.quickView_ && this.quickView_.isOpened()) {
       assert(this.entries_.length > 0);
-      const entry = this.entries_[0];
+      const entry = this.entries_[this.currentSelection_];
+
       if (!util.isSameEntry(entry, this.quickViewModel_.getSelectedEntry())) {
         this.updateQuickView_();
       }
@@ -250,9 +309,8 @@
           .catch(console.error);
     }
 
-    // TODO(oka): Support multi-selection.
     assert(this.entries_.length > 0);
-    const entry = this.entries_[0];
+    const entry = this.entries_[this.currentSelection_];
     this.quickViewModel_.setSelectedEntry(entry);
 
     requestIdleCallback(() => {
diff --git a/ui/file_manager/integration_tests/file_manager/quick_view.js b/ui/file_manager/integration_tests/file_manager/quick_view.js
index 841efd4..b2c7b304 100644
--- a/ui/file_manager/integration_tests/file_manager/quick_view.js
+++ b/ui/file_manager/integration_tests/file_manager/quick_view.js
@@ -1200,39 +1200,6 @@
   };
 
   /**
-   * Tests that Quick View doesn't open with multiple files selected.
-   */
-  testcase.cantOpenQuickViewWithMultipleFiles = async () => {
-    // Open Files app on Downloads containing ENTRIES.hello and ENTRIES.world.
-    const appId = await setupAndWaitUntilReady(
-        RootPath.DOWNLOADS, [ENTRIES.hello, ENTRIES.world], []);
-
-    // Select all 2 files.
-    const ctrlA = ['#file-list', 'a', true, false, false];
-    await remoteCall.callRemoteTestUtil('fakeKeyDown', appId, ctrlA);
-
-    // Wait for the files to be selected.
-    await remoteCall.waitForElement(
-        appId,
-        '#cancel-selection-button-wrapper:not([hidden]):not([disabled])');
-
-    // Attempt to open Quick View via its keyboard shortcut.
-    const space = ['#file-list', ' ', false, false, false];
-    await remoteCall.callRemoteTestUtil('fakeKeyDown', appId, space);
-
-    // Wait for it to possibly open.
-    await new Promise((resolve) => {
-      window.setTimeout(resolve, 500);
-    });
-
-    // Check Quick View hasn't opened.
-    chrome.test.assertEq(
-        [],
-        await remoteCall.callRemoteTestUtil(
-            'deepQueryAllElements', appId, [['#quick-view', '#dialog[open]']]));
-  };
-
-  /**
    * Tests opening Quick View and closing with Escape key returns focus to file
    * list.
    */
@@ -1338,4 +1305,41 @@
       await remoteCall.waitForElement(appId, query.query);
     }
   };
+
+  /**
+   * Tests the tab-index focus order when sending tab keys when a text file is
+   * shown in Quick View.
+   */
+  testcase.openQuickViewTabIndexText = async () => {
+    // Prepare a list of tab-index focus queries.
+    const tabQueries = [
+      {'query': ['#quick-view', '[aria-label="Back"]:focus']},
+      {'query': ['#quick-view', '[aria-label="Open"]:focus']},
+      {'query': ['#quick-view', '[aria-label="File info"]:focus']},
+      {'query': ['#quick-view']},  // Tab past the content panel.
+      {'query': ['#quick-view', '[aria-label="Back"]:focus']},
+    ];
+
+    // Open Files app on Downloads containing ENTRIES.tallText.
+    const appId = await setupAndWaitUntilReady(
+        RootPath.DOWNLOADS, [ENTRIES.tallText], []);
+
+    // Open the file in Quick View.
+    await openQuickView(appId, ENTRIES.tallText.nameText);
+
+    for (const query of tabQueries) {
+      // Make the browser dispatch a tab key event to FilesApp.
+      const result = await sendTestMessage(
+          {name: 'dispatchTabKey', shift: query.shift || false});
+      chrome.test.assertEq(
+          result, 'tabKeyDispatched', 'Tab key dispatch failure');
+
+      // Note: Allow 500ms between key events to filter out the focus
+      // traversal problems noted in crbug.com/907380#c10.
+      await wait(500);
+
+      // Check: the queried element should gain the focus.
+      await remoteCall.waitForElement(appId, query.query);
+    }
+  };
 })();
diff --git a/ui/gl/gl_bindings.h b/ui/gl/gl_bindings.h
index 7c1ef4c..0f853ed 100644
--- a/ui/gl/gl_bindings.h
+++ b/ui/gl/gl_bindings.h
@@ -369,6 +369,9 @@
 #define GL_RG16_EXT 0x822C
 #define GL_RGBA16_EXT 0x805B
 #define GL_RGB16_EXT 0x8054
+#define GL_R16_SNORM_EXT 0x8F98
+#define GL_RG16_SNORM_EXT 0x8F99
+#define GL_RGBA16_SNORM_EXT 0x8F9B
 #define GL_RGB16_SNORM_EXT 0x8F9A
 #endif /* GL_EXT_texture_norm16 */
 
diff --git a/ui/message_center/public/cpp/notification_delegate.cc b/ui/message_center/public/cpp/notification_delegate.cc
index 267b215..fe133b9 100644
--- a/ui/message_center/public/cpp/notification_delegate.cc
+++ b/ui/message_center/public/cpp/notification_delegate.cc
@@ -43,7 +43,21 @@
 
 HandleNotificationClickDelegate::HandleNotificationClickDelegate(
     const base::RepeatingClosure& callback) {
-  if (!callback.is_null()) {
+  SetCallback(callback);
+}
+
+HandleNotificationClickDelegate::HandleNotificationClickDelegate(
+    const ButtonClickCallback& callback)
+    : callback_(callback) {}
+
+void HandleNotificationClickDelegate::SetCallback(
+    const ButtonClickCallback& callback) {
+  callback_ = callback;
+}
+
+void HandleNotificationClickDelegate::SetCallback(
+    const base::RepeatingClosure& closure) {
+  if (!closure.is_null()) {
     // Create a callback that consumes and ignores the button index parameter,
     // and just runs the provided closure.
     callback_ = base::BindRepeating(
@@ -52,14 +66,10 @@
           DCHECK(!button_index);
           closure.Run();
         },
-        callback);
+        closure);
   }
 }
 
-HandleNotificationClickDelegate::HandleNotificationClickDelegate(
-    const ButtonClickCallback& callback)
-    : callback_(callback) {}
-
 HandleNotificationClickDelegate::~HandleNotificationClickDelegate() {}
 
 void HandleNotificationClickDelegate::Click(
diff --git a/ui/message_center/public/cpp/notification_delegate.h b/ui/message_center/public/cpp/notification_delegate.h
index 1c2e62c4..7f3c0044 100644
--- a/ui/message_center/public/cpp/notification_delegate.h
+++ b/ui/message_center/public/cpp/notification_delegate.h
@@ -95,6 +95,14 @@
   explicit HandleNotificationClickDelegate(
       const base::RepeatingClosure& closure);
 
+  // Overrides the callback with one that handles clicks on a button or on the
+  // body.
+  void SetCallback(const ButtonClickCallback& callback);
+
+  // Overrides the callback with one that only handles clicks on the body of the
+  // notification.
+  void SetCallback(const base::RepeatingClosure& closure);
+
   // NotificationDelegate overrides:
   void Click(const base::Optional<int>& button_index,
              const base::Optional<base::string16>& reply) override;
diff --git a/ui/ozone/common/gpu/ozone_gpu_message_params.h b/ui/ozone/common/gpu/ozone_gpu_message_params.h
index 5ac2bac..0797733 100644
--- a/ui/ozone/common/gpu/ozone_gpu_message_params.h
+++ b/ui/ozone/common/gpu/ozone_gpu_message_params.h
@@ -39,6 +39,7 @@
   display::DisplayConnectionType type = display::DISPLAY_CONNECTION_TYPE_NONE;
   bool is_aspect_preserving_scaling = false;
   bool has_overscan = false;
+  bool has_privacy_screen = false;
   bool has_color_correction_matrix = false;
   bool color_correction_in_linear_space = false;
   gfx::ColorSpace color_space;
diff --git a/ui/ozone/common/gpu/ozone_gpu_messages.h b/ui/ozone/common/gpu/ozone_gpu_messages.h
index ed4053c..c16be207 100644
--- a/ui/ozone/common/gpu/ozone_gpu_messages.h
+++ b/ui/ozone/common/gpu/ozone_gpu_messages.h
@@ -53,6 +53,7 @@
   IPC_STRUCT_TRAITS_MEMBER(type)
   IPC_STRUCT_TRAITS_MEMBER(is_aspect_preserving_scaling)
   IPC_STRUCT_TRAITS_MEMBER(has_overscan)
+  IPC_STRUCT_TRAITS_MEMBER(has_privacy_screen)
   IPC_STRUCT_TRAITS_MEMBER(has_color_correction_matrix)
   IPC_STRUCT_TRAITS_MEMBER(color_correction_in_linear_space)
   IPC_STRUCT_TRAITS_MEMBER(color_space)
diff --git a/ui/ozone/platform/drm/common/drm_util.cc b/ui/ozone/platform/drm/common/drm_util.cc
index 698bff9f..427bb2584 100644
--- a/ui/ozone/platform/drm/common/drm_util.cc
+++ b/ui/ozone/platform/drm/common/drm_util.cc
@@ -151,6 +151,11 @@
   return nullptr;
 }
 
+bool HasPrivacyScreen(int fd, drmModeConnector* connector) {
+  ScopedDrmPropertyPtr property;
+  return GetDrmProperty(fd, connector, "privacy-screen", &property) >= 0;
+}
+
 bool IsAspectPreserving(int fd, drmModeConnector* connector) {
   ScopedDrmPropertyPtr property;
   int index = GetDrmProperty(fd, connector, "scaling mode", &property);
@@ -440,6 +445,7 @@
       IsAspectPreserving(fd, info->connector());
   const display::PanelOrientation panel_orientation =
       GetPanelOrientation(fd, info->connector());
+  const bool has_privacy_screen = HasPrivacyScreen(fd, info->connector());
   const bool has_color_correction_matrix =
       HasColorCorrectionMatrix(fd, info->crtc()) ||
       HasPerPlaneColorCorrectionMatrix(fd, info->crtc());
@@ -495,7 +501,7 @@
 
   return std::make_unique<display::DisplaySnapshot>(
       display_id, origin, physical_size, type, is_aspect_preserving_scaling,
-      has_overscan, has_color_correction_matrix,
+      has_overscan, has_privacy_screen, has_color_correction_matrix,
       color_correction_in_linear_space, display_color_space, bits_per_channel,
       display_name, sys_path, std::move(modes), panel_orientation, edid,
       current_mode, native_mode, product_code, year_of_manufacture,
@@ -515,6 +521,7 @@
     p.type = d->type();
     p.is_aspect_preserving_scaling = d->is_aspect_preserving_scaling();
     p.has_overscan = d->has_overscan();
+    p.has_privacy_screen = d->has_privacy_screen();
     p.has_color_correction_matrix = d->has_color_correction_matrix();
     p.color_correction_in_linear_space = d->color_correction_in_linear_space();
     p.color_space = d->color_space();
@@ -563,7 +570,7 @@
   return std::make_unique<display::DisplaySnapshot>(
       params.display_id, params.origin, params.physical_size, params.type,
       params.is_aspect_preserving_scaling, params.has_overscan,
-      params.has_color_correction_matrix,
+      params.has_privacy_screen, params.has_color_correction_matrix,
       params.color_correction_in_linear_space, params.color_space,
       params.bits_per_channel, params.display_name, params.sys_path,
       std::move(modes), params.panel_orientation, params.edid, current_mode,